【发布时间】:2013-04-12 13:40:54
【问题描述】:
我有这段代码可以将图像大小调整为 300x300。但是在调整大小后,图像仍然失去了它的质量。我已经尝试过在其他网站上发布的其他解决方案,这些解决方案与此代码具有相同的代码实现,但它对我不起作用。请帮帮我。
Stream ream = FileUploadPic.FileContent;
System.Drawing.Image i = new Bitmap(ream);
Bitmap Orig_Photo = new Bitmap(i);
Bitmap resize_Photo = new Bitmap(300,300);
Graphics thumbnailGraph = Graphics.FromImage(resize_Photo);
thumbnailGraph.CompositingQuality = CompositingQuality.HighQuality;
thumbnailGraph.SmoothingMode = SmoothingMode.AntiAlias;
thumbnailGraph.InterpolationMode = InterpolationMode.HighQualityBicubic;
thumbnailGraph.PixelOffsetMode = PixelOffsetMode.HighQuality;
var imageRectangle = new Rectangle(0, 0, 300, 300);
thumbnailGraph.DrawImage(i, imageRectangle);
System.Drawing.Image ii = new Bitmap(resize_Photo);
【问题讨论】:
-
输入图像的尺寸是多少?
-
我在测试中使用的尺寸为 2709pxx2709px...但即使我尝试使用较小尺寸的图像,输出仍然相同。
-
有什么方法可以分享样品吗?不确定“失去质量意味着什么”。如果您有直线或文本,双三次插值只会模糊每个像素与其相邻像素。
-
@Loud- 请访问此链接...这与我的图像输出相同...我尝试了该作者的解决方案但没有任何反应。weblogs.asp.net/gunnarpeipman/archive/2009/04/02/…