近一个月csdn的blog我死活也写不上去, 终于今天不在报错了,一气发完....
实现方法有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左右。
分享到:
相关推荐
原类生成的缩略图的问题在于:高或者宽可能会大于需求值。比如,我需要的图片宽为150,高为120,当原图 * 高为150,宽为150或差距不大时,生成的图片不会有变化,即也是高150,宽150,这样,当把这些图片显示到网页...
ASP.NET图片生成缩略图(VB.NET),高宽自定义
Asp.net图片生成缩略图 Asp.net图片生成缩略图
说明:生成上传图片的缩略图和为缩略图添加水印;
本文详细介绍在ASP.NET中上传图片并生成缩略图 在ASP.NET中上传图片并生成缩略图!
可以根据不同参数生成缩略图片,而且不变形
可以按宽或高等比例压缩图片,将原图生成规定尺寸的小图
ASP.NET图片上传,生成缩略图,加文字、图片水印
.Net生成缩略图、水印图片、可自定义图片大小,2M左右的图片经过处理到20K左右(400*400)像素的。
Asp.net上传图片同时生成缩略图和水印图
asp.net生成缩略图通用函数(支持多种生成方式)_支持图片裁减
Asp.Net 上传图片并生成高清晰缩略图收藏 在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的。baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我...
asp.net上传图片 生成缩略图 并保存到数据库 从数据库读取图片
asp.net做的生成图片缩略图
本文生成的图片都为正方形,只有正方形的缩略图才是保证图片足够清晰。 当我我这里说的正方形是先按比例压缩,然后加一个固定的白底 然后居中显示。 代码: 新建outputimg.ashx 代码如下://调整图片大小private ...
asp.net上传图片 并生成缩略图
NULL 博文链接:https://weizhigan.iteye.com/blog/837975