Konvertieren von SVG in PNG in Python
Das PNG-Dateiformat unterstützt die verlustfreie Bildkomprimierung, was es bei seinen Nutzern so beliebt macht. Im Gegensatz zu SVG, einem Vektorformat, das möglicherweise nicht von allen Plattformen und Anwendungen unterstützt wird, ist PNG universell und kann problemlos in verschiedenen Softwareprogrammen, Websites und Geräten verwendet werden. Außerdem unterstützt PNG transparente Hintergründe und ist damit ideal für Webgrafiken, Logos und Bilder. Mit Aspose.HTML for Python via .NET können Sie das SVG- in das PNG-Format programmatisch konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern.
In diesem Artikel finden Sie Informationen zur Konvertierung von SVG in PNG unter Verwendung der Methoden convert_svg() der Klasse Converter und der Anwendung von ImageSaveOptions. Außerdem können Sie einen Online-SVG-Konverter ausprobieren, um die Python-API-Funktionalität zu testen und SVG im laufenden Betrieb zu konvertieren.
Online SVG Konverter
Sie können SVG in Echtzeit in andere Formate konvertieren. Laden Sie SVG aus einem lokalen Dateisystem oder einer URL, wählen Sie das Ausgabeformat und führen Sie das Beispiel aus. Die Speicheroptionen sind standardmäßig eingestellt. Sie erhalten das Konvertierungsergebnis sofort als separate Datei.
SVG in PNG umwandeln
Die Methoden convert_svg() sind die gebräuchlichste Methode zur Konvertierung von SVG in verschiedene Formate. Zur Konvertierung können Sie SVG aus einer Datei, einer URL oder einem Code-String laden. Im folgenden Beispiel erstellen wir eine SVG-Datei aus Code.
- Bereiten Sie den Code für ein SVG-Dokument vor.
- Erstellen Sie ein neues
ImageSaveOptions Objekt. Standardmäßig ist die Eigenschaft
Format
PNG. Wenn Sie keine spezifischen Optionen für das Speichern des resultierenden Bildes festlegen, werden die Standardoptionen verwendet. - Verwenden Sie die Methode
convert_svg(
content, base_uri, options, output_path
) der Klasse Converter.
1# Convert SVG to PNG using Python
2
3import os
4import aspose.html.converters as conv
5import aspose.html.saving as sav
6
7# Setup directories and define paths
8output_dir = "output/"
9if not os.path.exists(output_dir):
10 os.makedirs(output_dir)
11save_path = os.path.join(output_dir, "circle.png")
12
13# Prepare SVG code
14svg_code = """<svg xmlns="http://www.w3.org/2000/svg">
15<circle cx="100" cy="100" r="60" fill="teal" stroke="salmon" stroke-width="10" />
16</svg>"""
17
18# Initialize ImageSaveOptions
19options = sav.ImageSaveOptions()
20
21# Convert SVG to PNG
22conv.Converter.convert_svg(svg_code, ".", options, save_path)
SVG in PNG konvertieren mit ImageSaveOptions
Die Funktionalität zur Erstellung von PNG-Bildern kann durch Speicheroptionen nach Ihren Wünschen erweitert werden. Die Klasse
ImageSaveOptions bietet umfangreiche Anpassungsmöglichkeiten für die Umwandlung von SVG-Inhalten in Bildformate. Hier ist eine Beschreibung der einzelnen Eigenschaften von ImageSaveOptions
:
- page_setup – Sie können die Seitenlayout-Einstellungen für das Ausgabebild konfigurieren. Dazu gehören die Angabe der Seitengröße und der Ränder (oben, unten, links, rechts), um die Platzierung und Anzeige des HTML-Inhalts innerhalb des Bildes zu steuern.
- horizontal_resolution – Diese Eigenschaft legt die horizontale Auflösung (in Pixeln pro Zoll) sowohl für die Ausgabe als auch für die internen Bilder fest, die während der Verarbeitung verwendet werden. Eine höhere Auflösung führt in der Regel zu einem schärferen Bild, kann aber auch die Dateigröße erhöhen. Standardmäßig beträgt sie 300 dpi.
- vertical_resolution – Diese Eigenschaft legt die vertikale Auflösung für interne Bilder in Pixeln pro Zoll fest oder ruft sie ab. Standardmäßig beträgt sie 300 dpi.
- background_color – Mit dieser Eigenschaft können Sie die Hintergrundfarbe für die gerenderte Ausgabe festlegen. Ist sie nicht gesetzt, ist der Hintergrund standardmäßig transparent.
- css – Mit dieser Eigenschaft, die durch
CssOptions
repräsentiert wird, kann konfiguriert werden, wie CSS-Eigenschaften während der Konvertierung von HTML in Bilder verarbeitet werden. - format – Diese Eigenschaft bestimmt das Format des Ausgabebildes. Zu den unterstützten Formaten gehören gängige Bildformate wie PNG, JPEG, BMP, GIF und TIFF. Das Standardformat ist PNG, aber Sie können auch andere Formate je nach Ihren Anforderungen angeben.
- use_antialiasing – Diese Eigenschaft steuert die Qualität des Grafikrenderings während der Konvertierung. Sie wirkt sich darauf aus, wie Bilder gerendert werden, was vor allem für Anti-Aliasing und eine glatte und visuell ansprechende Ausgabe nützlich ist. Zu den Optionen gehören in der Regel Einstellungen für ein hochwertiges Rendering, das für professionelle Bilder und Bilder in Präsentationsqualität entscheidend sein kann.
- compression – Mit der Option Komprimierung können Sie die Komprimierungsmethode für die TIFF-Ausgabe festlegen. Unterstützte Optionen: LZW, CCITT3, CCITT4, RLE und KEINE. Die Komprimierung trägt dazu bei, die Dateigröße zu verringern, ohne die Bildqualität zu beeinträchtigen, was besonders für TIFF-Dateien wichtig ist, die für die Archivierung und den Druck von Bildern in hoher Qualität verwendet werden.
- text – Diese Eigenschaft bietet Konfigurationen für die Textwiedergabe bei der Umwandlung von HTML in Bilder.
Um SVG in PNG zu konvertieren und dabei ImageSaveOptions
anzugeben, sollten Sie ein paar Schritte befolgen:
- Laden Sie eine SVG-Datei mit einem der SVGDocument()-Konstruktoren der Klasse SVGDocument. ( tulips.svg).
- Erstellen Sie ein neues
ImageSaveOptions Objekt und geben Sie die Speicheroptionen an. Standardmäßig ist die Eigenschaft
Format
PNG. Der KonstruktorImageSaveOptions()
initialisiert eine Instanz der KlasseImageSaveOptions
, die an die Methodeconvert_svg()
übergeben wird. Hier können Sie die erforderlichen Speicheroptionen, wie Format oder Auflösung, festlegen. - Verwenden Sie eine der Methoden
convert_svg(), um SVG als PNG-Bild zu speichern. Im Beispiel nimmt die Methode convert_svg() die Parameter
document
,options
und den Pfad der Ausgabedateisave_path
und führt die Konvertierung durch.
1# Convert SVG to PNG with custom settings using Python
2
3import os
4import aspose.html.dom.svg as ahsvg
5import aspose.html.converters as conv
6import aspose.html.saving as sav
7import aspose.html.drawing as dr
8
9# Setup directories and define paths
10output_dir = "output/"
11input_dir = "data/"
12if not os.path.exists(output_dir):
13 os.makedirs(output_dir)
14
15document_path = os.path.join(input_dir, "tulips.svg")
16save_path = os.path.join(output_dir, "tulips.png")
17
18# Load an SVG document
19document = ahsvg.SVGDocument(document_path)
20
21# Initialize ImageSaveOptions
22options = sav.ImageSaveOptions()
23options.page_setup.first_page = dr.Page(dr.Size(500, 500), dr.Margin(10, 10, 10, 10))
24options.css.media_type.PRINT
25
26# Convert SVG to PNG
27conv.Converter.convert_svg(document, options, save_path)
Im obigen Beispiel verwenden wir:
- die Eigenschaft
page_setup
, um die Layout-Einstellungen für die erste Seite des Ausgabebildes festzulegen; - die Eigenschaft
css.media_type
zur Angabe des Medientyps, der während des Rendering-Prozesses für CSS verwendet werden soll. Im Beispiel ist sie aufPRINT
gesetzt, wodurch druckspezifische CSS-Regeln angewendet werden. Dies kann sich auf das endgültige Erscheinungsbild des Ausgabebildes auswirken, indem für Druckmedien definierte Stile verwendet werden.
Die Abbildung zeigt die Qualität der Umwandlung von SVG in PNG am Beispiel eines Fragments der Datei “tulips.png”.
SVG in Bilder umwandeln
Aspose.HTML for Python via .NET unterstützt die Konvertierung von SVG in PNG-, JPEG-, BMP-, TIFF- und GIF-Bilder. Um das Ausgabebildformat festzulegen, müssen Sie nur die erforderliche Erweiterung (Format) im Namen der Ausgabedatei angeben und die Eigenschaft Format
für das Objekt “Save Options” festlegen.
Um zum Beispiel SVG in GIF zu konvertieren, benötigen Sie:
- um die Formateigenschaft festzulegen:
options.format.GIF
- und setzen Sie die Erweiterung
.gif
im Namen der Ausgabedatei:save_path = os.path.join(output_dir, "svg-to-image.gif")
Siehe auch
- Weitere Informationen über SVG-Dateien finden Sie in dem Artikel Was ist eine SVG-Datei – Vorteile, Nachteile, XML-Code.
- Laden Sie die Bibliothek Aspose.HTML for Python via .NET herunter, mit der Sie erfolgreich, schnell und einfach Ihre HTML-, MHTML-, EPUB-, SVG- und Markdown-Dokumente in die gängigsten Formate konvertieren können.
- Überprüfen Sie die Qualität der Konvertierung von SVG in PNG mit unserem Online- SVG zu PNG Konverter. Laden Sie Ihre Dateien hoch, konvertieren Sie sie und erhalten Sie die Ergebnisse in wenigen Sekunden. Testen Sie unseren SVG zu PNG Konverter jetzt kostenlos!