public static Image GetThumbnailImage(Image image, int width, int height)
{
if (image == null || width < 1 || height < 1)
return null;
// 新建一个bmp图片
Image bitmap = new System.Drawing.Bitmap(width, height);
// 新建一个画板
using (Graphics g = System.Drawing.Graphics.FromImage(bitmap))
{
// 设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
// 设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
// 高质量、低速度复合
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
// 清空画布并以透明背景色填充
g.Clear(Color.Transparent);
// 在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(image, new Rectangle(0, 0, width, height),
new Rectangle(0, 0, image.Width, image.Height),
GraphicsUnit.Pixel);
return bitmap;
}
}