- ASP.NET 画图与图像处理-获取图片宽度和高度
- ASP.NET 画图与图像处理-生成缩略图
- ASP.NET 画图与图像处理-生成高质量缩略图
- ASP.NET 画图与图像处理-加水印
- ASP.NET 画图与图像处理-写字与画线
- ASP.NET 画图与图像处理-画点
- ASP.NET 画图与图像处理-画弧
- ASP.NET 画图与图像处理-GraphicsPath
- ASP.NET 画图与图像处理-关于 Rectangle 和 Path 边框问题
- ASP.NET 画图与图像处理-让 Photoshop 可打开
- ASP.NET 画图与图像处理-压缩图片质量
- ASP.NET 画图与图像处理-如何直接输出到页面
- ASP.NET 画图与图像处理-提供一个很好的验证码程序
- 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();
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 的缩放高度。
