【发布时间】:2011-08-11 01:55:24
【问题描述】:
我想知道使用文件为现有图像制作缩略图而不是将其保存到磁盘是否有任何缺点。是否有任何与此相关的内存问题?!
我的代码:
// thumbnails.aspx
protected void Page_Load(object sender, EventArgs e)
{
string file = Request.QueryString["i"];
if (file == null)
return;
if (!IsFileExists(file))
return;
Thumb(file);
}
public void Thumb(string file)
{
System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(file));
System.Drawing.Image thumbnailImage = image.GetThumbnailImage(70, 70, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
System.IO.MemoryStream imageStream = new System.IO.MemoryStream();
thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageContent = new Byte[imageStream.Length];
imageStream.Position = 0;
imageStream.Read(imageContent, 0, (int)imageStream.Length);
Response.ContentType = "image/jpeg";
Response.BinaryWrite(imageContent);
}
【问题讨论】:
-
我不明白你的问题。你能更清楚地解释你正在权衡的两个选项吗?您可以使用 System.Windows.Media 和 WPF,而不是使用 System.Drawing 和 GDI,这样效率更高。
-
我可以将缩略图图像保存在一个名为“Thumbs”的文件夹中,或者我可以发送一个名为 Thumbnail.aspx 的特定文件的图像文件,该文件又返回一个字节 [],其中包含图像的缩略图,此缩略图未保存到磁盘中
-
在 GDI 之上使用 WPF 有什么好处!!
-
@mrtsherman “您可以使用 System.Windows.Media 和 WPF,而不是使用 System.Drawing 和 GDI,这样效率更高。”您有该声明的任何支持文档/链接吗?
-
@steve - weblogs.asp.net/bleroy/archive/2009/12/10/… - 他有一个基准。 Fast WPF 比 GDI 快大约 3.5 倍。
标签: c# thumbnails