c#.net 生成清晰缩略图

时间:2023-03-09 13:29:04
c#.net 生成清晰缩略图
1  public void imgsize()
2 {
3 //本例中假定了两个变量:
4
5 String src = "c:/myImages/a.jpg"; //源图像文件的绝对路径
6 String dest = "c:/myImages/a_th.jpg"; //生成的缩略图图像文件的绝对路径
7
8 int thumbWidth = 132; //要生成的缩略图的宽度
9 int thumbHeight = 100; //要生成的缩略图的高度
10 System.Drawing.Image image = System.Drawing.Image.FromFile(src); //利用Image对象装载源图像
11
12 //接着创建一个System.Drawing.Bitmap对象,并设置你希望的缩略图的宽度和高度。
13 int srcWidth = image.Width;
14 int srcHeight = image.Height;
15 Bitmap bmp = new Bitmap(thumbWidth, thumbHeight);
16
17 //从Bitmap创建一个System.Drawing.Graphics对象,用来绘制高质量的缩小图。
18 System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);
19
20 //设置 System.Drawing.Graphics对象的SmoothingMode属性为HighQuality
21 gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
22
23 //下面这个也设成高质量
24 gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
25
26 //下面这个设成High
27 gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
28
29 //把原始图像绘制成上面所设置宽高的缩小图
30 System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, thumbWidth, thumbHeight);
31 gr.DrawImage(image, rectDestination, 0, 0, srcWidth, srcHeight, GraphicsUnit.Pixel);
32
33 //保存图像,大功告成!
34 bmp.Save(dest);
35
36 //最后别忘了释放资源
37 bmp.Dispose();
38 image.Dispose();
39 }