生成缩略图

//本例中假定了两个变量:

String src = "d:/20151015214514_21085.jpg"; //源图像文件的绝对路径
String dest = "d:/1.jpg"; //生成的缩略图图像文件的绝对路径

int thumbWidth = 132; //要生成的缩略图的宽度
int thumbHeight = 100; //要生成的缩略图的高度
System.Drawing.Image image = System.Drawing.Image.FromFile(src); //利用Image对象装载源图像

//接着创建一个System.Drawing.Bitmap对象,并设置你希望的缩略图的宽度和高度。
int srcWidth = image.Width;
int srcHeight = image.Height;
Bitmap bmp = new Bitmap(thumbWidth, thumbHeight);

//从Bitmap创建一个System.Drawing.Graphics对象,用来绘制高质量的缩小图。
System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);

//设置 System.Drawing.Graphics对象的SmoothingMode属性为HighQuality
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

//下面这个也设成高质量
gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

//下面这个设成High
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

//把原始图像绘制成上面所设置宽高的缩小图
System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, thumbWidth, thumbHeight);
gr.DrawImage(image, rectDestination, 0, 0, srcWidth, srcHeight, GraphicsUnit.Pixel);

//保存图像,大功告成!
bmp.Save(dest);

//最后别忘了释放资源
bmp.Dispose();
image.Dispose();

posted @ 2016-06-16 10:52  .菩提  阅读(124)  评论(0编辑  收藏  举报