ホームページ > バックエンド開発 > C++ > C# で画像のサイズを変更する際の画質の低下を最小限にするにはどうすればよいですか?

C# で画像のサイズを変更する際の画質の低下を最小限にするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-20 03:31:08
オリジナル
354 人が閲覧しました

How Can I Minimize Image Quality Loss When Resizing Images in C#?

C# イメージのスケーリング: 品質の低下を最小限に抑える方法

画像をスケーリングすると、必然的にある程度の品質が低下します。ただし、一部の技術ではこの劣化を大幅に軽減できます。

Zoom の挑戦

画像のサイズが変更されると、そのピクセルは縮小 (縮小) または拡大 (拡大) します。ズームアウトするとピクセルが削除され、詳細が失われます。一方、ズームインするとピクセルが補間され、アーティファクトが発生する可能性があります。

品質の低下を最小限に抑える

品質の低下を完全に排除することはできませんが、C# では次のアプローチが広く推奨されています。

<code class="language-csharp">Bitmap newImage = new Bitmap(newWidth, newHeight);
using (Graphics gr = Graphics.FromImage(newImage))
{
    gr.SmoothingMode = SmoothingMode.HighQuality;
    gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
    gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
    gr.DrawImage(srcImage, new Rectangle(0, 0, newWidth, newHeight));
}</code>
ログイン後にコピー

手順:

  • SmoothingMode.HighQuality: アンチエイリアシングを有効にして、ギザギザのエッジを軽減します。
  • InterpolationMode.HighQualityBicubic: ピクセル補間に複雑なアルゴリズムを使用して、よりスムーズな結果を生成します。
  • PixelOffsetMode.HighQuality: 視覚的により明瞭になるようにピクセルの配置を調整します。

以上がC# で画像のサイズを変更する際の画質の低下を最小限にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート