.NET生成缩略图方法二则

.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左右。

标题名称:.NET生成缩略图方法二则
当前网址:http://www.shufengxianlan.com/qtweb/news31/228281.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联