【发布时间】:2014-02-17 11:22:24
【问题描述】:
我有这段代码,用于调整和保存用户发布的文件。 问题是,当我调整为 480px 宽度时,图像质量会下降很多,并且以 kb 为单位的大小仍然很大。
例如,当我使用诸如 Paint 之类的软件“手动”将同一图像的大小调整为 480 像素时,质量仍然与原始图像一样好(从我的眼睛可以看出),并且以 kb 为单位的大小要小得多而不是使用GetThumbNailImage 方法调整大小。
Mdn 说 “如果您从具有嵌入式缩略图的图像中请求较大的缩略图图像(例如,300 x 300),则缩略图图像的质量可能会明显下降。这可能会更好通过调用DrawImage 方法来缩放主图像(而不是缩放嵌入的缩略图)。”,但这似乎适用于 Windows 窗体,我需要一个网络应用程序。
那么我应该使用什么代码来执行此操作?
System.IO.Stream st = FileUploadPost.PostedFile.InputStream;
myImage = System.Drawing.Image.FromStream(st);
thumb = myImage.GetThumbnailImage(newWidth, newHeight, null, System.IntPtr.Zero);
thumb.Save(myPath);
【问题讨论】:
-
我写了这个函数来调整JPEG图像的大小,你可以在其中设置质量codingstill.com/2011/07/…。希望对你有帮助
-
感谢您的回复 codingstill 但似乎您的功能仅适用于 jpg 图像,我也使用其他格式。
标签: asp.net image-processing thumbnails