`
king_tt
  • 浏览: 2113789 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C#生成高清缩略图

 
阅读更多

1.源码

/// <summary>  
   /// 为图片生成缩略图    
   /// </summary>  
   /// <param name="phyPath">原图片的路径</param>  
   /// <param name="width">缩略图宽</param>  
   /// <param name="height">缩略图高</param>  
   /// <returns></returns>  
   public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, int height)  
   {  
       Bitmap bmp = new Bitmap(width, height);  
       //从Bitmap创建一个System.Drawing.Graphics  
       System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);  
       //设置   
       gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;  
       //下面这个也设成高质量  
       gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;  
       //下面这个设成High  
       gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;  
       //把原始图像绘制成上面所设置宽高的缩小图  
       System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, width, height);  
   
       gr.DrawImage(image, rectDestination, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);  
       return bmp;  
   }  

2.调用

HttpPostedFile file = photoFile.PostedFile;  
        if (!file.ContentType.Contains("image"))  
        {  
return "照片格式不合法";  
        }  
        string ext = Path.GetExtension(file.FileName).ToLower();  
        if (ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg")  
        {  
return "请您上传jpg、gif、png图片";  
        }  
        if (file.ContentLength > 5 * 1024 * 1024)  
        {  
return "请您上传512字节内的图片";  
        }  
        string newName = Guid.NewGuid().ToString();  
        string tempPath = "upload/";  
        string img = tempPath + newName + ext;  
        string filePath = Server.MapPath(img);  
        if (!Directory.Exists(tempPath))  
        {  
            Directory.CreateDirectory(tempPath);  
        }  
        using (System.Drawing.Image originalImage = System.Drawing.Image.FromStream(file.InputStream))  
        {  
            GetThumbnail(originalImage, 504, 374).Save(filePath);  
        }  

转自网络,原作者佚名

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics