1

可能重复:
在不损失任何质量的情况下调整图像大小

我正在使用以下方法调整图像大小:

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:图片源的宽高总是大于宽高参数,并保留宽高比。

4

1 回答 1

1

取决于图像的大小和分辨率。如果你把图像放大,很自然会得到一个不好的结果,你可以在缩小图像时得到同样的坏结果,而不保持它的比例。

一般来说,如果你想拥有可缩放的漂亮图像,请坚持使用 Vector Graphics。换句话说,使用:元文件或一些SVG图像库。

于 2012-12-12T20:23:34.283 回答