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 サイトの他の関連記事を参照してください。