调整大小后可怕的图像质量

时间:2012-12-12 20:20:22

标签: c# image-resizing

  

可能重复:
  Resizing an Image without losing any quality

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

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:图像源宽度和高度始终大于宽度和高度参数,并保留宽高比。

1 个答案:

答案 0 :(得分:1)

取决于图片的调整大小和分辨率。如果你使图像变得更大,自然会得到一个糟糕的结果,你可以得到同样糟糕的结果,使图像更小,而不保持其比例。

一般情况下,如果您想要具有可伸缩漂亮的图像,请按住矢量图形。 换句话说,请使用:Metafile或某些SVG库来存储图像。