Chaque fois que la transparence est nécessaire dans les images sur le Web, PNG est l’un des formats qui viennent à l’esprit. L’image SVG est également l’un des formats d’image couramment utilisés en raison de son évolutivité. Pour afficher de petites images statiques, des logos et des images avec des arrière-plans transparents, les images PNG sont souvent préférées. Pour des raisons de compatibilité ou pour toute autre raison, il est souvent nécessaire de convertir des graphiques vectoriels SVG dans d’autres formats. Cet article explique comment convertir des graphiques vectoriels SVG en images PNG à l’aide de C#.

Convertissez SVG en PNG à l'aide de C# (niveaux de gris, rotation, retournement, filigrane brillant)

API .NET pour convertir des images

GroupDocs permet aux développeurs avec son API de conversion de convertir des formats d’image en divers autres formats. L’image convertie peut également être modifiée pendant le processus de conversion en utilisant différentes options avancées. Dans cet article, j’utiliserai son GroupDocs.Conversion for .NET pour convertir l’image vectorielle SVG en images PNG.

Vous pouvez télécharger le programme d’installation des DLL ou MSI à partir de la section des téléchargements ou installer l’API en ajoutant son package à votre application .NET via NuGet.

PM> Install-Package GroupDocs.Conversion

Des exemples d’exécution de ses fonctionnalités sont également disponibles sur GitHub. Consultez sa documentation et API Reference pour obtenir des conseils.

Convertir une image SVG en PNG en utilisant C#

Commençons par la conversion des graphiques vectoriels au format PNG en utilisant les paramètres par défaut. Les étapes suivantes montrent comment convertir l’image SVG en PNG à l’aide de C#.

  • Chargez le fichier SVG à l’aide de la classe Converter.
  • Préparez les options de conversion d’image.
  • Définissez le type de fichier de conversion sur PNG.
  • Appelez la méthode Convert() avec les options préparées.

Le code source C# suivant convertit le SVG en une image PNG.

// Comment convertir un fichier SVG au format PNG en C# à l'aide de l'API de conversion .NET avec les options par défaut
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

Image SVG vers PNG à l’aide des options avancées à l’aide de C#

Diverses personnalisations peuvent être appliquées à la sortie PNG lors de la conversion des graphiques vectoriels. Voici quelques-unes des caractéristiques des images PNG que nous pouvons ajuster :

  • Luminosité
  • Contraste
  • Gamma
  • Niveaux de gris
  • Mode retournement (Horizontal / Vertical)
  • Angles de rotation
  • Hauteur
  • Largeur
  • Filigrane

Les étapes suivantes montrent comment convertir une image SVG en PNG et appliquer ensuite des ajustements au fichier PNG résultant.

  • Chargez le graphique SVG à l’aide de la classe Converter.
  • Préparez les options de conversion d’image.
  • Définissez le type de fichier de conversion sur PNG.
  • Définissez les personnalisations sélectives et ajustez leurs valeurs.
  • Convertissez en une image PNG en utilisant la méthode Convert() avec les options préparées.

Le code source suivant applique la personnalisation dans la conversion SVG vers PNG à l’aide de C#. Vous pouvez appliquer l’un de ces effets ou la combinaison d’effets pour la sortie PNG souhaitée.

// Convertir le fichier SVG au format PNG en C# en utilisant diverses personnalisations
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        FlipMode = ImageFlipModes.FlipY,
        RotateAngle = 45, 
        Grayscale = true
        /*
        Brightness = 50,
        Contrast = 50,
        Gamma = 0.5F,
        */
    };
    // Appliquer un filigrane sur l'image convertie
    WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
    {
        Color = Color.Blue,
        Width = 150,
        Height = 150,
        Background = false,
        Top = 50,
        Left = 50,
        RotationAngle = -45,
        Transparency = 50,
    };
    options.Watermark = watermark;
    
    converter.Convert("path/svg-to-png-customized.png", options);
}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser l’API sans les limitations d’évaluation.

Conclusion

Concluons. Nous avons appris la base et la conversion peu avancée des graphiques vectoriels SVG au format PNG en utilisant C# dans les applications .NET. Nous avons également appris à faire pivoter, retourner ou ajouter un filigrane aux fichiers SVG lorsqu’ils sont convertis au format PNG. De plus, nous avons appris à affiner le gamma et la luminosité, et comment activer et désactiver les options de niveaux de gris.

Essayez d’exécuter des exemples de GitHub qui vous aideront à créer votre propre convertisseur SVG vers PNG similaire à celui disponible sur groupdocs.app. Contactez-nous pour toute question via le forum.

Voir également