Translate Into English Coffee & Tea
ASP.NET 中的 AJAX ASP.NET 画图全接触 ASP.NET 与 XML 声明式数据绑定 ASP.NET 网页抓取
C# 基础 C# 类教程 C# 加密 ASP.NET 成员资格 非“自动化”处理 Excel
QuickAjax Ajax 完美的语法高亮器 Silverlight Popfly
通栏广告
ASP.NET 画图与图像处理-生成高质量缩略图

利用 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 的缩放高度。

文章评论
标题:必填
内容:
文章信息