C#生成高清缩略图

01 /// <summary> 
02    /// 为图片生成缩略图   
03    /// </summary> 
04    /// <param name="phyPath">原图片的路径</param> 
05    /// <param name="width">缩略图宽</param> 
06    /// <param name="height">缩略图高</param> 
07    /// <returns></returns> 
08    public System.Drawing.Image GetThumbnail(System.Drawing.Image image, int width, intheight) 
09    
10        Bitmap bmp = newBitmap(width, height); 
11        //从Bitmap创建一个System.Drawing.Graphics 
12        System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp); 
13        //设置  
14        gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 
15        //下面这个也设成高质量 
16        gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; 
17        //下面这个设成High 
18        gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; 
19        //把原始图像绘制成上面所设置宽高的缩小图 
20        System.Drawing.Rectangle rectDestination = newSystem.Drawing.Rectangle(0, 0, width, height); 
21     
22        gr.DrawImage(image, rectDestination, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); 
23        returnbmp; 
24    }

调用方法

01 HttpPostedFile file = photoFile.PostedFile; 
02         if(!file.ContentType.Contains("image")) 
03         
04 return"照片格式不合法"
05         
06         stringext = Path.GetExtension(file.FileName).ToLower(); 
07         if (ext != ".jpg" && ext != ".gif" && ext != ".png"&& ext != ".jpeg"
08         
09 return"请您上传jpg、gif、png图片"
10         
11         if(file.ContentLength > 5 * 1024 * 1024) 
12         
13 return"请您上传512字节内的图片"
14         
15         stringnewName = Guid.NewGuid().ToString(); 
16         stringtempPath = "upload/"
17         stringimg = tempPath + newName + ext; 
18         stringfilePath = Server.MapPath(img); 
19         if(!Directory.Exists(tempPath)) 
20         
21             Directory.CreateDirectory(tempPath); 
22         
23         using(System.Drawing.Image originalImage = System.Drawing.Image.FromStream(file.InputStream)) 
24         
25             GetThumbnail(originalImage, 504, 374).Save(filePath); 
26         }
原文地址:https://www.cnblogs.com/gc2013/p/3652469.html