Convertir PNG en SVG C#

La conversion d’ images PNG en format SVG est une tâche cruciale lorsqu’il s’agit de graphiques vectoriels évolutifs, en particulier dans la conception web, l’art numérique et les applications logicielles nécessitant des images de haute qualité sans pixellisation. Les images PNG sont basées sur des rasters, ce qui signifie qu’elles sont composées de pixels et peuvent perdre en qualité lorsqu’elles sont redimensionnées. En revanche, le SVG (Scalable Vector Graphics) est un format vectoriel qui conserve la qualité de l’image à n’importe quelle résolution.

PNG to SVG Converter - Installation de l’API C#

Pour convertir des images PNG en images SVG, vous devez installer Conholdate.Total pour .NET à partir de la section New Releases ou exécuter la commande d’installation NuGet suivante :

Install-Package Conholdate.Total 

Pourquoi convertir PNG en SVG ?

Il y a plusieurs raisons convaincantes de convertir des images PNG en format SVG :

  • Scalabilité sans perte de qualité : Contrairement aux images PNG, qui se dégradent en qualité lorsqu’elles sont redimensionnées, les fichiers SVG restent nets et clairs à toute résolution. Cela est particulièrement utile pour la conception web réactive et les écrans haute résolution.

  • Des tailles de fichier plus petites pour certains graphiques : Les fichiers SVG sont généralement plus petits que les PNG lors de la manipulation d’icônes, de logos et d’illustrations simples, ce qui les rend idéaux pour une utilisation sur le web où l’optimisation des performances est cruciale.

  • Editable et personnalisable : Les images SVG peuvent être facilement modifiées à l’aide d’éditeurs basés sur du texte ou d’outils de graphisme vectoriel comme Adobe Illustrator et Inkscape. Cela les rend idéales pour des graphiques générés dynamiquement dans les applications web.

  • Meilleure performance dans les applications Web : Étant donné que les images SVG sont basées sur XML, elles peuvent être manipulées via CSS et JavaScript, ce qui permet des changements dynamiques sans nécessiter de nouveaux fichiers image.

Convertir PNG en SVG en C#

Pour convertir une image PNG au format SVG en C#, nous utiliserons Conholdate.Total pour .NET. Cela fournit des fonctionnalités puissantes de vectorisation d’images qui permettent une conversion transparente des images raster en graphiques vectoriels évolutifs.

  • Initialisation de l’ImageVectorizer : La classe ImageVectorizer est initialisée pour gérer la conversion de PNG en SVG.

  • Configuration des paramètres de réglage :

    • La propriété PathBuilder est assignée à un BezierPathBuilder, qui détermine la structure du chemin vectoriel.

    • Le TraceSmoother aide à réduire le bruit et à améliorer la trace pour un output vectoriel plus propre.

    • Les valeurs ErrorThreshold et MaxIterations contrôlent la précision du processus de vectorisation.

    • Le ColorsLimit définit le nombre de couleurs dans la sortie vectorisée, réduisant ainsi la complexité.

    • LineWidth définit l’épaisseur des chemins vectorisés.

  • Vectorisation du PNG : La méthode Vectorize traite l’image raster et génère une représentation vectorielle.

  • Enregistrement de la sortie : La méthode Save écrit le fichier SVG final sur le disque.

Le code ci-dessous démontre comment convertir PNG en SVG en C#:

// Initialiser une instance de la classe ImageVectorizer
var vectorizer = new Aspose.Svg.ImageVectorization.ImageVectorizer
{
    // Configurer le paramètre
    Configuration =
    {
        // Set path builder
        PathBuilder = new Aspose.Svg.ImageVectorization.BezierPathBuilder {
            // Définir lissage de trace
            TraceSmoother = new Aspose.Svg.ImageVectorization.ImageTraceSmoother(1),
            ErrorThreshold =  30,
            MaxIterations = 30
        },
        ColorsLimit = 25,
        LineWidth = 1
    }
};

// Vectoriser PNG
using var document = vectorizer.Vectorize("source.png");

// Enregistrer le PNG vectorisé en tant que fichier SVG 
document.Save("source_out.svg");

Licence d’évaluation gratuite

Vous pouvez obtenir une licence temporaire gratuite pour tester différentes fonctionnalités offertes par l’API sans aucune limitation d’évaluation.

Résumer

Convertir des images PNG au format SVG en C# est une technique essentielle pour obtenir des graphiques vectoriels évolutifs et de haute qualité. En utilisant Conholdate.Total pour .NET, les développeurs peuvent effectuer cette conversion avec une grande précision et un minimum d’effort. Que vous travailliez sur des applications web, des œuvres d’art numériques ou des graphiques imprimés, cette approche garantit une qualité d’image optimale et une flexibilité. Cependant, si vous avez besoin de discuter de vos ambiguïtés, veuillez nous contacter sur le forum.

Voir aussi