Convertir SVG en PNG en Python
Le format de fichier PNG prend en charge la compression d’image sans perte, ce qui le rend populaire auprès de ses utilisateurs. Contrairement au SVG, un format vectoriel qui n’est pas pris en charge par toutes les plateformes et applications, le PNG est universel et peut être facilement utilisé par différents logiciels, sites web et appareils. En outre, le PNG prend en charge les arrière-plans transparents, ce qui le rend idéal pour les graphiques, les logos et les images sur le web. Avec Aspose.HTML for Python via .NET, vous pouvez convertir SVG au format PNG de manière programmatique, avec un contrôle total sur un large éventail de paramètres de conversion.
Dans cet article, vous trouverez des informations sur la conversion de SVG en PNG en utilisant les méthodes convert_svg() de la classe Converter et en appliquant ImageSaveOptions. Vous pouvez également essayer un convertisseur SVG en ligne pour tester les fonctionnalités de l’API Python et convertir SVG à la volée.
Convertisseur SVG en ligne
Vous pouvez convertir SVG en d’autres formats en temps réel. Chargez SVG à partir d’un système de fichiers local ou d’une URL, sélectionnez le format de sortie et exécutez l’exemple. Les options d’enregistrement sont définies par défaut. Vous recevrez immédiatement le résultat de la conversion dans un fichier séparé.
Convertir SVG en PNG
L’utilisation des méthodes convert_svg() est la manière la plus courante de convertir le SVG dans différents formats. Pour convertir, vous pouvez charger le SVG à partir d’un fichier, d’une URL ou d’une chaîne de code. Dans l’exemple suivant, nous créons un fichier SVG à partir d’un code.
- Préparer le code d’un document SVG.
- Créez un nouvel objet
ImageSaveOptions. Par défaut, la propriété
format
est PNG. Si vous ne définissez pas d’options spécifiques pour l’enregistrement de l’image résultante, les options par défaut seront utilisées. - Utilisez la méthode
convert_svg(
content, base_uri, options, output_path
) de la classe Converter.
1import os
2from aspose.html.converters import *
3from aspose.html.saving import *
4
5# Setup directories and define paths
6output_dir = "output/"
7if not os.path.exists(output_dir):
8 os.makedirs(output_dir)
9save_path = os.path.join(output_dir, "circle.png")
10
11# Prepare SVG code
12svg_code = """<svg xmlns="http://www.w3.org/2000/svg">
13<circle cx="100" cy="100" r="60" fill="teal" stroke="salmon" stroke-width="10" />
14</svg>"""
15
16# Initialize ImageSaveOptions
17options = ImageSaveOptions()
18
19# Convert SVG to PNG
20Converter.convert_svg(svg_code, ".", options, save_path)
Convertir SVG en PNG en utilisant ImageSaveOptions
La fonctionnalité de création d’images PNG peut être améliorée avec des options de sauvegarde selon vos besoins. La classe
ImageSaveOptions offre une personnalisation étendue pour convertir le contenu SVG en formats d’image. Voici une description de chaque propriété de ImageSaveOptions
:
- page_setup – Vous pouvez configurer les paramètres de mise en page de l’image de sortie. Il s’agit notamment de spécifier la taille de la page et les marges (haut, bas, gauche, droite) pour contrôler l’emplacement et l’affichage du contenu HTML dans l’image.
- horizontal_resolution – Cette propriété définit ou obtient la résolution horizontale (en pixels par pouce) pour les images de sortie et les images internes utilisées pendant le traitement. Une résolution plus élevée permet généralement d’obtenir une image plus nette, mais peut également augmenter la taille du fichier. Par défaut, la résolution est de 300 dpi.
- vertical_resolution – Cette propriété définit ou obtient la résolution verticale des images internes en pixels par pouce. Par défaut, elle est de 300 dpi.
- background_color – Cette propriété permet de définir la couleur d’arrière-plan du rendu. Si elle n’est pas définie, l’arrière-plan par défaut est transparent.
- css – Cette propriété, représentée par
CssOptions
, permet de configurer la façon dont les propriétés CSS sont traitées lors de la conversion HTML en image. - format – Cette propriété détermine le format de l’image de sortie. Les formats pris en charge comprennent les formats d’image courants tels que PNG, JPEG, BMP, GIF et TIFF. Le format par défaut est PNG, mais vous pouvez en spécifier d’autres en fonction de vos besoins.
- use_antialiasing – Cette propriété contrôle la qualité du rendu graphique pendant la conversion. Elle affecte la manière dont les images sont rendues, ce qui est particulièrement utile pour l’anticrénelage et l’obtention d’une sortie lisse et visuellement attrayante. Les options comprennent généralement des paramètres pour un rendu de haute qualité, ce qui peut s’avérer essentiel pour les images professionnelles et de présentation.
- compression – L’option de compression permet de définir la méthode de compression pour la sortie TIFF. Options prises en charge : LZW, CCITT3, CCITT4, RLE et AUCUNE. La compression permet de réduire la taille des fichiers tout en conservant la qualité de l’image, ce qui est particulièrement important pour les fichiers TIFF utilisés pour l’archivage et l’impression d’images de haute qualité.
- text – Cette propriété permet de configurer le rendu du texte lors de la conversion de HTML en image.
Pour convertir SVG en PNG en spécifiant ImageSaveOptions
, vous devez suivre quelques étapes :
- Charger un fichier SVG en utilisant l’un des constructeurs SVGDocument() de la classe SVGDocument. ( tulips.svg).
- Créez un nouvel objet
ImageSaveOptions et spécifiez les options d’enregistrement. Par défaut, la propriété
format
est PNG. Le constructeurImageSaveOptions()
initialise une instance de la classeImageSaveOptions
qui est passée à la méthodeconvert_svg()
. Ici, vous pouvez définir les options d’enregistrement requises, telles que le format ou la résolution. - Utilisez l’une des méthodes
convert_svg() pour sauvegarder SVG en tant qu’image PNG. Dans l’exemple, la méthode convert_svg() prend les paramètres
document
,options
, et le chemin du fichier de sortiesave_path
et effectue l’opération de conversion.
1import os
2from aspose.html.saving import *
3# from aspose.html.drawing import *
4from aspose.html.converters import *
5from aspose.html.dom.svg import *
6
7# Setup directories and define paths
8output_dir = "output/"
9input_dir = "data/"
10if not os.path.exists(output_dir):
11 os.makedirs(output_dir)
12
13document_path = os.path.join(input_dir, "tulips.svg")
14save_path = os.path.join(output_dir, "tulips.png")
15
16# Load an SVG document
17document = SVGDocument(document_path)
18
19# Настройки сохранения в PDF
20options = ImageSaveOptions()
21options.page_setup.first_page = Page(Size(500, 500), Margin(10, 10, 10, 10))
22options.css.media_type.PRINT
23
24# Convert SVG to PNG
25Converter.convert_svg(document, options, save_path)
Dans l’exemple ci-dessus, nous utilisons :
- la propriété
page_setup
pour définir les paramètres de mise en page de la première page de l’image de sortie ; - la propriété
css.media_type
pour spécifier le type de média à utiliser pour CSS pendant le processus de rendu. Dans l’exemple, elle est définie àPRINT
, ce qui permet d’appliquer des règles CSS spécifiques à l’impression. Cela peut affecter l’apparence finale de l’image de sortie en utilisant des styles définis pour les médias d’impression.
La figure montre la qualité du rendu SVG vers PNG en utilisant un fragment du fichier tulips.png
comme exemple.
Comment convertir les SVG en images
Aspose.HTML for Python via .NET prend en charge la conversion de SVG en images PNG, JPEG, BMP, TIFF et GIF. Pour définir le format de l’image de sortie, il suffit de spécifier l’extension requise (format) dans le nom du fichier de sortie et de définir la propriété format
pour l’objet d’options d’enregistrement.
Par exemple, pour convertir SVG en GIF, vous avez besoin de :
- pour définir la propriété de format :
options.format.GIF
- et définir l’extension
.gif
dans le nom du fichier image de sortie :save_path = os.path.join(output_dir, "svg-to-image.gif")
Voir aussi
- Pour en savoir plus sur les fichiers SVG, consultez l’article Qu’est-ce qu’un fichier SVG ? – Avantages, inconvénients, code XML.
- Téléchargez la bibliothèque Aspose.HTML for Python via .NET qui vous permet de convertir avec succès, rapidement et facilement vos documents HTML, MHTML, EPUB, SVG et Markdown vers les formats les plus populaires.
- Vérifiez la qualité de la conversion SVG vers PNG avec notre Convertisseur SVG vers PNG en ligne. Téléchargez, convertissez vos fichiers et obtenez des résultats en quelques secondes. Essayez gratuitement notre convertisseur SVG vers PNG !