中成网站建设
    成都做网站,就选中成网站建设!专业四川网站建设,成都网站建设服务提供商
            企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255
    资讯列表  
 ASP.NET防止用户多次登录的方法…
 生成不重复的随机整数
 ASP.NET获取IP的6种方法
 ASP dot net 里的状态管理-Ses…
 判断获取的参数是否为null
 中文验证码生成实例
 微软发布第二个实验版的.Net 4…
 微软轻量级Web开发平台WebMatr…
 asp.net 生成图片验证码
 Asp.net直接保存文件到客户端
 .Net开发中的多线程编程总结
 C#中关于get和set的详细例子介…
 ASP.NET编程技巧:提高asp.net…
 asp.net 剪切 缩小图片原码
 截断过长字符串为省略号算法
    资讯详情  
.NET生成缩略图方法二则
发布时间:2009-08-17                  来源:成都网站建设--中成网建         【加入收藏】

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

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

  1. ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);     
  2.    EncoderParameters parameters = new EncoderParameters(1);     
  3.    parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);     
  4.     
  5.    System.Drawing.Image.GetThumbnailImageAbort myCallback =new      
  6.     
  7.    System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);     
  8.    System.Drawing.Image myThumbnail = image.GetThumbnailImage(intNewWidth, intNewHeight,      
  9.     
  10.  myCallback, IntPtr.Zero);     
  11.   myThumbnail.Save(txtNewPath, ici, parameters);    
  12. ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);  
  13.    EncoderParameters parameters = new EncoderParameters(1);  
  14.    parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);  
  15.  
  16.    System.Drawing.Image.GetThumbnailImageAbort myCallback =new   
  17.  
  18.    System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);  
  19.    System.Drawing.Image myThumbnail = image.GetThumbnailImage(intNewWidth, intNewHeight,   
  20.  
  21.  myCallback, IntPtr.Zero);  
  22.   myThumbnail.Save(txtNewPath, ici, parameters);  
  23.    

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

  1. ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);     
  2.   EncoderParameters parameters = new EncoderParameters(1);     
  3.   parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);     
  4.     
  5.   Bitmap objNewBitMap = new Bitmap(intNewWidth, intNewHeight, PixelFormat.Format32bppArgb);     
  6.   //从指定的 Image 对象创建新 Graphics 对象     
  7.   Graphics objGraphics = Graphics.FromImage(objNewBitMap);     
  8.   //清除整个绘图面并以透明背景色填充     
  9.   objGraphics.Clear(Color.Transparent);     
  10.   //在指定位置并且按指定大小绘制 原图片 对象     
  11.   objGraphics.DrawImage(image, new Rectangle(0, 0, intNewWidth, intNewHeight));     
  12.   objNewBitMap.Save(txtNewPath + txtNewFileName+"."+mFileExtName, ici, parameters);    
  13.  ImageCodecInfo ici = GetCodecInfo((string)htmimes[mFileExtName]);  
  14.    EncoderParameters parameters = new EncoderParameters(1);  
  15.    parameters.Param[0] = new EncoderParameter(Encoder.Quality,lngDefinition);  
  16.  
  17.    Bitmap objNewBitMap = new Bitmap(intNewWidth, intNewHeight, PixelFormat.Format32bppArgb);  
  18.    //从指定的 Image 对象创建新 Graphics 对象  
  19.    Graphics objGraphics = Graphics.FromImage(objNewBitMap);  
  20.    //清除整个绘图面并以透明背景色填充  
  21.    objGraphics.Clear(Color.Transparent);  
  22.    //在指定位置并且按指定大小绘制 原图片 对象  
  23.    objGraphics.DrawImage(image, new Rectangle(0, 0, intNewWidth, intNewHeight));  
  24.    objNewBitMap.Save(txtNewPath + txtNewFileName+"."+mFileExtName, ici, parameters);  
  25.  

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

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

 

 

 

 
上一篇:开源项目语言排行榜:JavaScript持续上升
下一篇:ASP.NET开发中关于Web标准的几点建议
【打印】    【关闭】    【字体变小】    【字体变大】

友情链接

首页  |  建站学院  |  网站建设  |  成功案例  |  业务体系  |  软件定制  |  解决方案  |  联系我们  |  免责声明
中成网建公司地址:四川省成都市双楠双安东巷1号18-3-5 电话:028-6616 5255 版权所有 @ 中成网建
成都网站建设网址:www.csccd.net www.csccd.cn 邮箱:web#csccd.net
信息产业部备案号:蜀ICP备08106559号