Convertir SVG en PNG en Java

Chaque format d’image a ses avantages et ses inconvénients. Le SVG est idéal pour créer des graphiques pouvant être agrandis ou réduits sans perte de qualité. Mais parfois, il est nécessaire de convertir des fichiers SVG dans d’autres formats d’image tels que PNG, JPG, BMP, TIFF ou GIF. Globalement, les conversions SVG peuvent être utiles pour les développeurs et les concepteurs qui doivent travailler avec différents formats d’image pour diverses raisons. De plus, savoir convertir entre formats garantit que vos graphiques et images sont accessibles et utilisables par un plus large public.

La bibliothèque Aspose.HTML for Java offre un large éventail de conversions SVG vers des images, telles que JPG, PNG, BMP, TIFF et GIF. La conversion de SVG vers n’importe quel format d’image pris en charge suit les étapes obligatoires suivantes :

Pour spécifier le format d’image de sortie, utilisez la classe ImageSaveOptions. Le constructeur ImageSaveOptions(format) initialise l’objet options avec le format spécifié. Vous pouvez définir le format d’image sur JPG, PNG, BMP, GIF ou TIFF. Le ImageFormat par défaut est PNG.

Dans cet article, vous apprendrez à convertir un SVG en PNG à l’aide d’Aspose.HTML for Java et à appliquer ImageSaveOptions. Vous pouvez facilement utiliser les exemples Java pour convertir un SVG en PNG, et ceux-ci peuvent aussi être adaptés pour convertir SVG en JPG, BMP, GIF et TIFF en définissant simplement le ImageFormat requis dans ImageSaveOptions !

Convertir SVG en PNG en une seule ligne de code

En convertissant un SVG en PNG, vous obtenez une image matricielle qui peut être facilement partagée, visualisée, envoyée par e-mail et compressée sans perte de qualité. Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un code SVG dans différents formats. Vous pouvez convertir un SVG en PNG dans votre application Java avec une seule ligne de code !

1// Invoke the convertSVG() method for SVG to PNG conversion
2Converter.convertSVG("shapes.svg", new ImageSaveOptions(ImageFormat.Png), "convert-with-single-line.png");

Convertir SVG en PNG

Dans l’exemple Java suivant, nous allons passer en revue les instructions étape par étape pour convertir un SVG en PNG avec les options d’enregistrement par défaut :

  1. Charger un fichier SVG. Vous pouvez charger un SVG depuis un fichier, du code SVG ou une URL. Dans l’exemple ci-dessous, nous préparons du code SVG pour créer un SVG à partir de zéro et le passons directement à la méthode convertSVG().
  2. Utiliser le constructeur ImageSaveOptions() pour créer un nouvel objet ImageSaveOptions. Par défaut, la propriété Format est PNG.
  3. Appeler l’une des méthodes convertSVG() de la classe Converter pour enregistrer le SVG au format PNG. Dans l’exemple, nous utilisons la méthode convertSVG(document, options, outputPath) qui prend trois paramètres : un document SVG source, une instance de la classe ImageSaveOptions et le chemin du fichier de sortie où l’image convertie sera enregistrée.

L’extrait de code Java suivant montre comment convertir un SVG en PNG à l’aide d’Aspose.HTML for Java.

 1// Prepare SVG code and save it to a file
 2String code = "<svg xmlns='http://www.w3.org/2000/svg'>\n" +
 3        "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />\n" +
 4        "</svg>\n";
 5try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.svg")) {
 6    fileWriter.write(code);
 7}
 8
 9// Initialize an SVG document from the SVG file
10SVGDocument document = new SVGDocument("document.svg");
11
12// Initialize ImageSaveOptions
13ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Png);
14
15// Convert SVG to PNG
16Converter.convertSVG(document, options, "output.png");

Vous pouvez télécharger les exemples complets et les fichiers de données depuis GitHub.

Options d’enregistrement – Classe ImageSaveOptions

La classe ImageSaveOptions fournit des méthodes qui vous donnent un contrôle total sur un large éventail de paramètres et améliorent le processus de conversion de SVG en formats d’image. Vous pouvez spécifier le format d’image, la taille de page, les marges, le niveau de compression, le type de média, etc.

MéthodeDescription
setCompression(value)Définit la compression TIFF (Tagged Image File Format). Par défaut, cette propriété est Compression.LZW.
getCssObtient un objet CssOptions utilisé pour la configuration du traitement des propriétés CSS.
setFormat(value)Définit le format d’image (JPG, PNG, BMP, TIFF ou GIF). Par défaut, cette propriété est ImageFormat.Png.
setBackgroundColor(value)Définit la couleur qui remplira l’arrière-plan de chaque page. Par défaut, la valeur est Color.Transparent(Color.getTransparent()).
setPageSetup(value)Obtient un objet de configuration de page utilisé pour configurer l’ensemble des pages de sortie.
setHorizontalResolution(value)Définit la résolution horizontale des images de sortie en pixels par pouce. La valeur par défaut est 300 dpi.
setVerticalResolution(value)Définit la résolution verticale des images de sortie en pixels par pouce. La valeur par défaut est 300 dpi.
setSmoothingMode(value)Définit la qualité de rendu pour cette image.
getText()Obtient un objet TextOptions utilisé pour la configuration du rendu du texte.

Convertir SVG en PNG avec ImageSaveOptions

Si votre scénario nécessite le rendu d’un document SVG, par exemple au format PNG avec des options d’enregistrement personnalisées, l’exemple suivant montre à quel point c’est simple :

  1. Charger un fichier SVG à l’aide de la classe SVGDocument.
  2. Créer un nouvel objet ImageSaveOptions et spécifier les options d’enregistrement requises. Dans l’exemple suivant, nous appliquons des résolutions personnalisées, définissons un mode de lissage et une couleur d’arrière-plan pour l’image PNG résultante :
    • Utiliser les méthodes setHorizontalResolution() et setVerticalResolution() pour définir la résolution horizontale et verticale de l’image à 200.
    • Utiliser la méthode setBackgroundColor() pour définir la couleur d’arrière-plan de chaque page.
    • Utiliser la méthode setSmoothingMode() pour définir la qualité du lissage de l’image sur élevée.
  3. Utiliser la méthode convertSVG(document, options, savePath) de la classe Converter pour enregistrer le SVG au format PNG.
 1// Create an instance of the ImageSaveOptions class. Set up the SmoothingMode, resolutions, and background color
 2ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Png);
 3options.setHorizontalResolution(Resolution.to_Resolution(200));
 4options.setVerticalResolution(Resolution.to_Resolution(200));
 5options.setBackgroundColor(Color.getAliceBlue());
 6options.setSmoothingMode(SmoothingMode.HighQuality);
 7
 8// Initialize an SVG document from a file
 9final SVGDocument document = new SVGDocument("flower1.svg");
10
11// Convert SVG to PNG
12Converter.convertSVG(document, options, "flower-options.png");

Conclusion

La bibliothèque Aspose.HTML for Java offre une solution puissante et efficace pour convertir SVG en divers formats d’images matricielles, y compris PNG, JPG, BMP, TIFF et GIF. L’utilisation des classes Converter et ImageSaveOptions permet la conversion de SVG et la personnalisation précise des propriétés de sortie telles que le format d’image, la résolution, la compression et la couleur d’arrière-plan. Ce niveau de contrôle permet d’optimiser la qualité de sortie et d’adapter les résultats aux besoins spécifiques d’un projet, garantissant ainsi que les images converties répondent aux exigences fonctionnelles et esthétiques.

En suivant les étapes techniques – chargement d’un document SVG, configuration de ImageSaveOptions et appel de la méthode convertSVG() – vous pouvez effectuer des conversions simples, rapides et de qualité.

Aspose.HTML propose un Convertisseur SVG en PNG en ligne gratuit qui convertit SVG en PNG avec une haute qualité, facilement et rapidement. Cet outil vous aide à créer des images et graphiques de haute qualité compatibles avec un large éventail de plateformes et d’appareils. Pourquoi ne pas essayer ? Téléversez, convertissez vos fichiers et obtenez le résultat en quelques secondes !

Texte “Convertisseur SVG en PNG”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.