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

画像のサイズ変更と解像度によって異なります。画像を大きくすると悪い結果が出るのは当然ですが、比率を維持せずに画像を小さくしても同じ悪い結果が得られる可能性があります。

一般的に、見栄えの良い画像が必要な場合は、ベクターグラフィックスを押し続けてください。言い換えると、メタファイルまたはSVG画像用のライブラリを使用します。

于 2012-12-12T20:23:34.283 に答える