复制代码 代码如下:
/// <summary>
/// 生成jpg缩略图字节,本人的小软件中需要用到的功能,所以自己做了一个函数,和大家分享
/// 为什么要生成字节而不是文件,这是为了方便后续处理啦^_^
/// </summary>
/// <param name="originalImagePath">原始路径</param>
/// <param name="quality">质量0-100</param>
/// <param name="width">宽度</param>
/// <param name="height">高度</param>
/// <param name="mode">模式:HW,W,H,Cut</param>
/// <returns></returns>
public static byte[] MakeJPGThumbnailBytes(string originalImagePath, long quality, int width, int height, string mode)
{
Image originalImage = Image.FromFile(originalImagePath);
MemoryStream s = new MemoryStream();
int towidth = width;
int toheight = height;
int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;
switch (mode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
toheight = originalImage.Height * width / originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height / originalImage.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if ((double)originalImage.Width / (double)originalImage.Height > (double)towidth / (double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height * towidth / toheight;
y = 0;
x = (originalImage.Width - ow) / 2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width * height / towidth;
x = 0;
y = (originalImage.Height - oh) / 2;
}
break;
default:
break;
}
//新建一个bmp图片
Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow, oh),
GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
EncoderParameters eps = new EncoderParameters(1);
EncoderParameter ep = new EncoderParameter(Encoder.Quality,quality);
eps.Param[0] = ep;
bitmap.Save(s, GetCodecInfo("image/jpeg"), eps);
return s.GetBuffer();
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
s.Dispose();
g.Dispose();
}
}
/**/
/// <summary>
/// 保存JPG时用
/// </summary>
/// <param name="mimeType"></param>
/// <returns>得到指定mimeType的ImageCodecInfo</returns>
private static ImageCodecInfo GetCodecInfo(string mimeType)
{
ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo ici in CodecInfo)
{
if (ici.MimeType == mimeType) return ici;
}
return null;
}
相关推荐:
AI写作的崛起-“只能AI写作”背后的巨大潜力,舞狮摄影ai
未来的效率利器AI软件下载AI,助您轻松驾驭智能世界
SEO优:让网站流量和排名实现飞跃的秘诀,大理哪有企业网站建设
AI撰写工具的无限可能,让内容创作更高效、更精彩!
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
AI撰写大数据解决方案:开启智能数据时代的新篇章,ai头号公敌
seo软件工具,seo软件是什么 ,AI妆容
SEO对策:提升网站排名与流量的必备策略,SEO入门相机平价学生
ChatGPTO1Pro模型:开启AI新纪元,免费应用带来无尽可能,苹果上的ai写作在哪里
SEO希望:如何通过SEO优化实现网站突破,迈向成功之路,品牌网站推广软件
AI公众号文章生成,轻松打造爆款内容
ChatGPT崩了?用户称打开是一片空白,背后隐藏了什么?,ai 新技巧
SEO优化大全:让你的网站排名轻松破局,精准引流更高效!,274357524ai
seo追词是什么,seo词条 ,52580609AI
seo要什么条件,seo都需要做什么 ,交互ai求职
seo网络培训是什么,seo工作培训会培训啥 ,ai长投影字
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
360AI写作怎样?助力创作的新风尚,ai到访
AI免费文章解读:智能写作新篇章,小店AI
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
二次创作的魅力与潜力:创意无限的数字时代,天长外贸网站建设
内容创作新时代:自动生成文章的AI如何改变写作生态
seo自己做什么,自己做seo需要花钱吗 ,ai850775
ChatGPT桌面版无法加载?快速解决方案及常见问题解析,ai媚眼
zblog站群,zblog怎么样 ,欧卡2ai汽车如何使用
什么是SEO金融,seo是做什么的 ,ai中转程序
seo站内链接有什么作用,seo中网站内链的作用 ,781900ai
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
SEO技巧提升网站流量和排名,助力企业快速崛起,ai080206.
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
pbootcms前端翻译插件-轻松实现网站多语言支持,拓展全球市场,st ai绘画
SEO要素:优化网站排名的关键因素全解析,棒球大联盟营销推广文案
360刷排名工具选哪家?揭秘2025年最强排名优化工具!,ai写作网站哪个好一点
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理
怎么用AI润色文章,让你的文稿瞬间高大上
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护
什么是seo在线咨询,什么是seo在线咨询服务 ,unreal ai
SEO非常:如何利用SEO提升网站排名与流量,助力品牌快速成长,绥化短视频营销推广
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
SEO专业怎么样?未来发展的无限潜力与职业前景,联通ai智能早教
为什么要seo 运营,为什么需要seo ,ai人物头盔
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
ChatGPTWindows版本下载:让AI助力您的工作和生活,ai yamama
SEO组织:让您的网站流量倍增的秘密武器,seo 绩效标准
什么叫改写-解读“改写”背后的艺术与技巧,网站制作建设模板图片
SEO出超:如何通过精准优化实现网站流量大爆发,营销推广方式联系f火15星
SEO努力:提升网站排名的关键策略,网站建设微企动力
AI网页生成:轻松构建智能网站,提升品牌竞争力,杭州专业ai智能教育
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
SEO大神如何在激烈的互联网竞争中脱颖而出?,网页设计和网站建设试题