我在.NET中遇到了一个有关图像缩放的问题。我使用标准的Graphics类型来调整图像大小,就像这个例子一样:
public static Image Scale(Image sourceImage, int destWidth, int destHeight)
{
Bitmap toReturn = new Bitmap(sourceImage, destWidth, destHeight);
toReturn.SetResolution(sourceImage.HorizontalResolution, sourceImage.VerticalResolution);
using (Graphics graphics = Graphics.FromImage(toReturn))
{
graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.DrawImage(sourceImage, 0, 0, destWidth, destHeight);
}
return toReturn;
}
但我遇到了一个重要问题,即调整大小后的图像会出现灰色和黑色边框,非常重要的是使图像不带有这些边框。
为什么会出现这些边框,我该怎么做才能让它们消失?
示例输出: