如何利用.NET生成缩略图

发布时间:2021-06-16 11:50:37 作者:chen
来源:亿速云 阅读:284

这篇文章主要讲解了“如何利用.NET生成缩略图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用.NET生成缩略图”吧!

.NET生成缩略图方法1. 使用Image的GetThumbnailImage 方法直接生成压缩图片,大概如此:

file://设置 原图片 对象的 EncoderParameters 对象,设置清晰度

ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);        EncoderParameters parameters = new EncoderParameters(1);        parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);            System.Drawing.Image.GetThumbnailImageAbort myCallback =new             System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);        System.Drawing.Image myThumbnail = image.GetThumbnailImage(intNewWidth, intNewHeight,           myCallback, IntPtr.Zero);       myThumbnail.Save(txtNewPath, ici, parameters);    ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);     EncoderParameters parameters = new EncoderParameters(1);     parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);      System.Drawing.Image.GetThumbnailImageAbort myCallback =new       System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);     System.Drawing.Image myThumbnail = image.GetThumbnailImage(intNewWidth, intNewHeight,     myCallback, IntPtr.Zero);    myThumbnail.Save(txtNewPath, ici, parameters);

.NET生成缩略图方法2. 使用Graphics 重新绘制图象

ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);       EncoderParameters parameters = new EncoderParameters(1);       parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);           Bitmap objNewBitMap = new Bitmap(intNewWidth, intNewHeight, PixelFormat.Format32bppArgb);       //从指定的 Image 对象创建新 Graphics 对象       Graphics objGraphics = Graphics.FromImage(objNewBitMap);       //清除整个绘图面并以透明背景色填充       objGraphics.Clear(Color.Transparent);       //在指定位置并且按指定大小绘制 原图片 对象       objGraphics.DrawImage(image, new Rectangle(0, 0, intNewWidth, intNewHeight));       objNewBitMap.Save(txtNewPath + txtNewFileName+"."+mFileExtName, ici, parameters);     ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);     EncoderParameters parameters = new EncoderParameters(1);     parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);      Bitmap objNewBitMap = new Bitmap(intNewWidth, intNewHeight, PixelFormat.Format32bppArgb);     //从指定的 Image 对象创建新 Graphics 对象     Graphics objGraphics = Graphics.FromImage(objNewBitMap);     //清除整个绘图面并以透明背景色填充     objGraphics.Clear(Color.Transparent);     //在指定位置并且按指定大小绘制 原图片 对象     objGraphics.DrawImage(image, new Rectangle(0, 0, intNewWidth, intNewHeight));     objNewBitMap.Save(txtNewPath + txtNewFileName+"."+mFileExtName, ici, parameters);

注意lngDefinition是调整清晰度的LONG型参数,一般50-90 就很清晰了。

.NET生成缩略图的2种效果,(相同宽度高度)清晰度上Graphics较好,图片Graphics绘制的也比较小,小1/3左右。

感谢各位的阅读,以上就是“如何利用.NET生成缩略图”的内容了,经过本文的学习后,相信大家对如何利用.NET生成缩略图这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. asp.net如何实现生成缩略图及加水印
  2. 利用.net怎么将图片等比缩放成缩略图

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:如何理解C# 枚举实例应用

下一篇:如何理解C# ChangeCompanyName

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》