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 :
- Ouvrir un fichier SVG.
- Créer un objet ImageSaveOptions et spécifier le format d’image.
- Convertir le SVG vers le format d’image choisi en utilisant la classe Converter.
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 :
- 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()
. - Utiliser le constructeur ImageSaveOptions() pour créer un nouvel objet ImageSaveOptions. Par défaut, la propriété Format est PNG.
- 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éthode | Description |
---|---|
setCompression(value) | Définit la compression TIFF (Tagged Image File Format). Par défaut, cette propriété est Compression.LZW . |
getCss | Obtient 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 :
- Charger un fichier SVG à l’aide de la classe SVGDocument.
- 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()
etsetVerticalResolution()
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.
- Utiliser les méthodes
- 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 !