public static void MakeThumbPic(string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
Image>
> int toheight = height;
> int> > int oh = originalImage.Height;
> break;
> break;
> ow = originalImage.Height * towidth / toheight;
> x = (originalImage.Width - ow) / 2;
}
> oh = originalImage.Width * height / towidth;
x = 0;
> }
> {
x = -(towidth -> ow = towidth;
> }
> y = -(ow - oh) / 2;
> }
else//高大于宽
{
> x = -(oh - ow) / 2;
> }
}
>
//新建一个画板
Graphics>
//设置高质量插值法
>
//设置高质量,低速度呈现平滑程度
>
//清空画布并以白色背景色填充
g.Clear(Color.White);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow, oh),
GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Png);
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
{
Image>
> int toheight = height;
> int> > int oh = originalImage.Height;
> break;
> break;
> ow = originalImage.Height * towidth / toheight;
> x = (originalImage.Width - ow) / 2;
}
> oh = originalImage.Width * height / towidth;
x = 0;
> }
> {
x = -(towidth -> ow = towidth;
> }
> y = -(ow - oh) / 2;
> }
else//高大于宽
{
> x = -(oh - ow) / 2;
> }
}
>
//新建一个画板
Graphics>
//设置高质量插值法
>
//设置高质量,低速度呈现平滑程度
>
//清空画布并以白色背景色填充
g.Clear(Color.White);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow, oh),
GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Png);
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
调用处 MakeThumbPic(savepath + fname, savepath + fname + "_50.jpg", 50, 63, "Cut");