Maison >développement back-end >C++ >Comment puis-je obtenir une mise à l'échelle d'image de haute qualité en C# ?
Obtenir une mise à l'échelle supérieure des images avec C#
Le maintien de la qualité de l'image pendant le redimensionnement est un défi courant dans le traitement d'image. Cet article montre comment utiliser les bibliothèques C# pour effectuer une mise à l'échelle d'image de haute qualité, comparable à un logiciel de retouche d'image professionnel comme Photoshop.
Classe utilitaire de manipulation d'images
La classe ImageUtilities
suivante fournit une fonction ResizeImage
pour un redimensionnement d'image précis et de haute qualité.
<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>
Application pratique
L'exemple suivant montre comment utiliser la classe 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>
Résumé
En tirant parti de la classe ImageUtilities
, les développeurs peuvent obtenir une mise à l'échelle d'image de haute qualité dans leurs applications C#. Cela offre un plus grand contrôle et une plus grande flexibilité pour les tâches de manipulation d’images. N'oubliez pas d'ajouter une gestion des erreurs appropriée dans un environnement de production.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!