我正在使用以下方法调整图像大小:
public static Bitmap Resize(Image source, int width, int height)
{
Bitmap bitmap = new Bitmap(width, height);
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
graphics.DrawImage(source, new Rectangle(0, 0, width, height));
}
return bitmap;
}
输出图像质量非常糟糕。有没有办法在不破坏质量的情况下调整图像大小?
PS:图像源宽度和高度始终大于宽度和高度参数,并保留宽高比。
答案 0 :(得分:1)
取决于图片的调整大小和分辨率。如果你使图像变得更大,自然会得到一个糟糕的结果,你可以得到同样糟糕的结果,使图像更小,而不保持其比例。
一般情况下,如果您想要具有可伸缩漂亮的图像,请按住矢量图形。
换句话说,请使用:Metafile或某些SVG
库来存储图像。