Maison > développement back-end > C++ > Comment puis-je obtenir une mise à l'échelle d'image de haute qualité en C# ?

Comment puis-je obtenir une mise à l'échelle d'image de haute qualité en C# ?

DDD
Libérer: 2025-01-17 19:57:14
original
869 Les gens l'ont consulté

How Can I Achieve High-Quality Image Scaling in 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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal