.net生成图片缩略图
2009-10-12 11:31
288 查看
实现方法有2个方式: 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);
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);
注意lngDefinition是调整清晰度的LONG型参数,一般50-90 就很清晰了。
2种效果,(相同宽度高度)清晰度上Graphics较好,图片Graphics绘制的也比较小,小1/3左右。
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);
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);
注意lngDefinition是调整清晰度的LONG型参数,一般50-90 就很清晰了。
2种效果,(相同宽度高度)清晰度上Graphics较好,图片Graphics绘制的也比较小,小1/3左右。
相关文章推荐
- .net上传图片文件,生成缩略图,并写上版权信息
- .Net 上传图片并生成高清晰缩略图
- .net上传图片文件,生成缩略图,并写上版权信息
- .net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- .net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- .net上传图片生成大小缩略图
- .net上传图片生成大小缩略图
- .NET图片压缩和生成缩略图
- .net上传图片生成大小缩略图
- .net图片操作类,生成缩略图,上传图片截取,上传图片打水印
- thinkphp 3.2.2 图片上传gif类型生成缩略图错误
- Android图片操作-生成缩略图
- 将动易文章内容里的所有图片生成缩略图的插件
- 上传图片并生成缩略图的ASP.NET2.0代码!
- asp.net上传的图片保存到文件夹下,并且生成缩略图
- .NET 生成高质量缩略图的通用函数代码 (修改版)
- 支持png透明图片的php生成缩略图类分享
- 用ASP.NET上传图片并生成带版权信息的缩略图
- asp.net上传图片并同时生成缩略图