ホームページ >バックエンド開発 >C++ >C# で高品質の画像スケーリングを実現するにはどうすればよいですか?

C# で高品質の画像スケーリングを実現するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-17 19:57:14809ブラウズ

How Can I Achieve High-Quality Image Scaling in C#?

C# で優れた画像スケーリングを実現する

サイズ変更中に画質を維持することは、画像処理における一般的な課題です。 この記事では、C# ライブラリを使用して、Photoshop などのプロ仕様の画像編集ソフトウェアに匹敵する高品質の画像スケーリングを実行する方法を説明します。

画像操作ユーティリティクラス

次の ImageUtilities クラスは、正確かつ高品質の画像サイズ変更のための ResizeImage 関数を提供します。

<code class="language-csharp">using System;
using System.Drawing;
using System.Drawing.Imaging;

public static class ImageUtilities
{
    public static Bitmap ResizeImage(Image image, int width, int height)
    {
        Bitmap result = new Bitmap(width, height);
        result.SetResolution(image.HorizontalResolution, image.VerticalResolution);

        using (Graphics graphics = Graphics.FromImage(result))
        {
            graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

            graphics.DrawImage(image, 0, 0, result.Width, result.Height);
        }

        return result;
    }

    public static void SaveJpeg(string filePath, Image image, int quality)
    {
        //Existing SaveJpeg method remains unchanged.
        // ... (Implementation details for saving JPEG with quality) ...
    }
}</code>

実際の応用

次の例は、ImageUtilities クラスの使用方法を示しています。

<code class="language-csharp">// Resize the image, maintaining aspect ratio.  Error handling omitted for brevity.
using (var resizedImage = ImageUtilities.ResizeImage(image, 50, 100))
{
    ImageUtilities.SaveJpeg(@"C:\myimage.jpeg", resizedImage, 90); 
}</code>

概要

ImageUtilities クラスを利用することで、開発者は C# アプリケーションで高品質の画像スケーリングを実現できます。これにより、画像操作タスクの制御性と柔軟性が向上します。 運用環境では必ず適切なエラー処理を追加してください。

以上がC# で高品質の画像スケーリングを実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。