c#生成高质量缩略图

来源:互联网 发布:aftereffects mac破解 编辑:程序博客网 时间:2024/06/11 04:39

利用 GetThumbnailImage 生成的缩略图,当请求的缩略图大于 120*120 像素时,质量将显著降低,比如你想把一张相机中的照片改为 500*375 像素,利用 GetThumbnailImage 是不会令你满意的。

我们利用 Graphics 的 DrawImage 生成高质量的缩略图。

System.Drawing.Image srcImg = System.Drawing.Image.FromFile(Server.MapPath("example.jpg"));
Bitmap thumbImg = new Bitmap(400, 300);
Graphics graphics = Graphics.FromImage(thumbImg);

graphics.DrawImage(srcImg, 0, 0, thumbImg.Width, thumbImg.Height);
thumbImg.Save(Server.MapPath("example_thumb.jpg"));

graphics.Dispose();
thumbImg.Dispose();
srcImg.Dispose();
Image、Bitmap、Graphics 的名称空间是

System.Drawing
但是这里我们却不能在导入名称空间后使用 Image 时省略 System.Drawing,因为这会和 System.Web.UI.WebControls 的 Image 产生混淆。

利用 Bitmap 设置好缩略图大小,再利用 DrawImage 画缩略图。这里,DrawImage 的第二个参数表示在横坐标上从哪里开始画,第三个参数表示在纵坐标上从哪里开始画(纵坐标是从上到下),第四个参数是 srcImg 的缩放宽度,第五个参数是 srcImg 的缩放高度。
<PIXTEL_MMI_EBOOK_2005>2                                                           </PIXTEL_MMI_EBOOK_2005>

原创粉丝点击