Konvertieren Sie SVG mit Python in Bild, JPG, PNG, BMP, TIFF und GIF
In dem Artikel finden Sie Informationen zum Konvertieren von SVG in Bilddateiformate wie JPG, PNG, BMP, TIFF, und GIF. Die Konvertierung von Bilddateien ist für die Entwicklung von Websites, als Grafikdesigner, für die Fotografie und für andere Zwecke erforderlich. Die Wahl des Bildformats hängt davon ab, ob Sie es im Polygrafieverfahren ausdrucken, per E-Mail versenden oder ein Bild auf eine Webseite stellen.
Der Artikel bietet eine allgemeine Beschreibung der Konvertierungsfunktionen von Aspose.SVG for Python via .NET und beschreibt unterstützte Szenarios von SVG-zu-Bild-Konvertierungen mithilfe der Klassen Converter und SVGDocument.
Online-SVG-Konverter
Sie können SVG auf beliebige Weise in Bilder und andere gängige Formate konvertieren – online oder programmgesteuert. Überprüfen Sie die Funktionalität der Aspose.SVG-API und konvertieren Sie SVG in Echtzeit! Bitte laden Sie SVG von einem lokalen Dateisystem oder einer URL, wählen Sie das Ausgabeformat und führen Sie das Beispiel aus. Im Beispiel sind die Speicheroptionen standardmäßig eingestellt. Das Ergebnis erhalten Sie umgehend als separate Datei.
Wenn Sie SVG programmgesteuert in Python in Bildformate konvertieren möchten, sehen Sie sich bitte die folgenden Konvertierungsszenarien und Python-Codebeispiele an.
Konvertieren Sie SVG in JPG
Das JPG-Format bietet hohe Komprimierungsraten bei minimalem Qualitätsverlust und eignet sich daher ideal für den Einsatz im Web, wo die Dateigröße eine Rolle spielt. Es wird geräte- und plattformübergreifend umfassend unterstützt und gewährleistet so Kompatibilität und einfache Weitergabe. Darüber hinaus eignet sich JPG aufgrund seiner Fähigkeit, komplexe Farbvariationen zu verarbeiten, ideal für Fotos und realistische Bilder.
Verwendung der Methode convert_svg()
Die Verwendung der Methoden convert_svg() ist die gebräuchlichste Methode zum Konvertieren von SVG in verschiedene gängige Formate. Sie können SVG programmgesteuert in JPG oder in ein anderes Format konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern. Der folgende Codeausschnitt zeigt, wie man SVG in JPG konvertiert und Hintergrundfarbe, Seitengröße, Ränder sowie vertikale und horizontale Auflösungen angibt. Darüber hinaus zeigt das folgende Python-Beispiel, wie Sie die Pfade zu den Quell- und Ausgabedateien in Ihrem Dateisystem konfigurieren:
- Verwenden Sie die Methode set_extension() der Configuration-Klasse, um die SkiaSharp-Erweiterung zu registrieren. Das SkiaSharp-Modul ist eine Grafikbibliothek, die zum Rendern von SVG-Inhalten verwendet wird. Es stellt sicher, dass die Rendering-Engine die für die Konvertierung erforderlichen Vorgänge unterstützt.
- Erstellen Sie eine Instanz der Klasse
ImageSaveOptions und geben Sie die erforderlichen Speicheroptionen an:
- Verwenden Sie die Eigenschaft
format
, um das Bildformat festzulegen. - Verwenden Sie die Eigenschaft
background_color
, um die Farbe festzulegen, die den Hintergrund füllen soll. - Verwenden Sie die Eigenschaft
page_setup
, um die Seitengröße und die Ränder festzulegen. - Verwenden Sie die Eigenschaften
horizontal_resolution
undvertical_resolution
, um die horizontale und vertikale Auflösung für das Ausgabebild festzulegen.
- Verwenden Sie die Eigenschaft
- Öffnen Sie ein SVG-Quelldokument mit der Klasse SVGDocument.
- Verwenden Sie die Methode convert_svg(), um SVG zu konvertieren und als Bilddatei zu speichern.
1import os
2import aspose
3from aspose.svg import *
4from aspose.svg.converters import *
5from aspose.svg.drawing.skiasharp import *
6from aspose.svg.rendering import *
7from aspose.svg.drawing import *
8from aspose.svg.saving import *
9
10# Initialize an SVG document from a file
11input_folder = "data/"
12output_folder = "output/"
13src_file = os.path.join(input_folder, "сhristmas-tree.svg")
14output_file = os.path.join(output_folder, "сhristmas-tree.jpg")
15if not os.path.exists(output_folder):
16 os.makedirs(output_folder)
17
18# Activate the Aspose.SVG.Drawing.SkiaSharp feature
19Configuration.set_extension(SkiaModule())
20options = ImageSaveOptions()
21options.format.JPEG
22options.background_color = aspose.pydrawing.Color.from_argb(233, 255, 241)
23options.page_setup.any_page = Page(Size(450, 450), Margin(20, 20, 20, 20))
24options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
25options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
26with SVGDocument(src_file) as document:
27
28 # Convert SVG to JPG
29 Converter.convert_svg(document, options, output_file)
Sie können die Qualität der Konvertierung beurteilen, indem Sie unser Produkt ausprobieren. Hier stellen wir eine Illustration zur Verfügung – die folgende Abbildung zeigt das ursprüngliche Bild christmas-tree.svg (a) und das konvertierte Bild christmas-tree.jpg mit einer neuen Hintergrundfarbe (b):
So konvertieren Sie SVG in ein Bild
Aspose.SVG for Python via .NET unterstützt die Konvertierung von SVG in Bildformate wie PNG, JPG, JPEG, BMP, TIFF, GIF und WEBP. Sie können hierfür den obigen Python-Code verwenden; Um das Ausgabebildformat zu ändern, müssen Sie lediglich die erforderliche Erweiterung (Format) im Namen der Ausgabedatei angeben und die Eigenschaft format
festlegen.
Um beispielsweise SVG in GIF zu konvertieren, benötigen Sie:
- um die Eigenschaft
format
festzulegen:options.format.GIF
, - und legen Sie die Erweiterung
.gif
im Namen der Ausgabebilddatei fest:output_file = os.path.join(output_folder, "image.gif")
.
Bildspeicheroptionen – ImageSaveOptions-Klasse
Aspose.SVG ermöglicht die Konvertierung von SVG in Bilddateiformate mithilfe von Standard- oder benutzerdefinierten Speicheroptionen. Durch die Verwendung von ImageSaveOptions können Sie den Rendervorgang anpassen. Sie können beispielsweise das Bildformat, die Seitengröße, die Ränder, die Hintergrundfarbe usw. festlegen.
Property | Description |
---|---|
compression | Sets Tagged Image File Format (TIFF) Compression. By default, this property is LZW. |
css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
format | Sets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. |
background_color | This property sets the color that will fill the background. By default, this property is transparent. |
page_setup | This property allows you to define the layout of the page, including dimensions and margins. |
horizontal_resolution | Sets the horizontal resolution for output and internal images in pixels per inch (dpi). By default, this property is set to 300 dpi, which is used unless overridden by specific conditions. The resolution is always applied unless the Page size is set in pixels (px), in which case the default resolution is 96 dpi. |
vertical_resolution | Sets the vertical resolution for output and internal images in pixels per inch (dpi). By default, this property is set to 300 dpi, which is used unless overridden by specific conditions. The resolution is always applied unless the Page size is set in pixels (px), in which case the default resolution is 96 dpi. |
smoothing_mode | This property sets the rendering quality for this image. |
text | Gets a TextOptions object which is used for configuration of text rendering. |
Hinweis: Die Optionen, die mit der Klasse ImageSaveOptions implementiert werden, erben von der Klasse ImageRenderingOptions.
Verwendung der Methode render_to()
Überlegen Sie, wie Sie ein Dokument mit der Methode render_to()
von SVG in JPG konvertieren:
- Initialisieren Sie ein SVG-Dokument mit der Klasse SVGDocument().
- Erstellen Sie eine Instanz der Klasse
ImageRenderingOptions. Wenn Sie das Bildformat, die horizontale und vertikale Auflösung, die Seitengröße und die Ränder festlegen müssen:
- Verwenden Sie die Eigenschaft
format
, um das Bildformat festzulegen. - Verwenden Sie die Eigenschaften
horizontal_resolution
undvertical_resolution
, um die horizontale und vertikale Auflösung für das Ausgabebild festzulegen. - Verwenden Sie die Eigenschaft
page_setup
, um die Seitengröße und die Ränder festzulegen.
- Verwenden Sie die Eigenschaft
- Erstellen Sie eine neue Instanz der Klasse ImageDevice.
- Konvertieren Sie SVG in JPG mit der Methode
render_to(
device
) derSVGDocument
-Klasse.
Das folgende Beispiel zeigt, wie die Eigenschaften page_setup
, horizontal_resolution
und vertical_resolution
für die Konvertierung von SVG in JPG angewendet werden:
1import os
2from aspose.svg import *
3from aspose.svg.drawing.skiasharp import *
4from aspose.svg.rendering import *
5from aspose.svg.drawing import *
6from aspose.svg.rendering.image import *
7
8# Initialize an SVG document from a file
9input_folder = "data/"
10output_folder = "output/"
11src_file = os.path.join(input_folder, "image.svg")
12output_file = os.path.join(output_folder, "image.jpg")
13if not os.path.exists(output_folder):
14 os.makedirs(output_folder)
15
16with SVGDocument(src_file) as document:
17 # Initialize an instance of the ImageRenderingOptions class and set custom properties
18 image_rendering_options = ImageRenderingOptions()
19 image_rendering_options.format = ImageFormat.JPEG
20 image_rendering_options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
21 image_rendering_options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
22 image_rendering_options.page_setup.any_page = Page(Size(600, 600), Margin(10, 10, 10, 10))
23
24 # Initialize an instance of the ImageDevice class
25 with ImageDevice(image_rendering_options, output_file) as device:
26 # Render SVG to JPG and send the document to the rendering device
27 document.render_to(device)
Sie können den obigen Python-Code zum Konvertieren von SVG in Bildformate wie PNG, JPG, JPEG, BMP, TIFF, GIF und WEBP verwenden. Um das Ausgabebildformat zu ändern, müssen Sie die erforderliche Erweiterung (Format) im Namen der Ausgabedatei angeben und die Eigenschaft format
festlegen.
Um beispielsweise SVG in BMP zu konvertieren, müssen Sie nur die Eigenschaft format
festlegen:
image_rendering_options.format = ImageFormat.BMP
,
und legen Sie die Erweiterung .bmp
im Namen der Ausgabebilddatei fest:
output_file = os.path.join(output_folder, "image.bmp")
.
Bildwiedergabeoptionen – ImageRenderingOptions-Klasse
Die Klasse
ImageRenderingOptions in Aspose.SVG for Python via .NET bietet eine Reihe von Optionen, um zu steuern, wie SVG-Dokumente in Bildformate gerendert werden. Die Klasse ImageRenderingOptions
wird in Verbindung mit dem spezifischen Gerät ImageDevice
verwendet, das die Zielausgabebildformate für den gerenderten SVG-Inhalt darstellt.
Mit dieser Klasse können Sie den Rendering-Prozess genau an bestimmte Anforderungen anpassen. Hier sind die wichtigsten Eigenschaften, die der ImageRenderingOptions-Klasse zugeordnet sind:
Property | Description |
---|---|
compression | Sets Tagged Image File Format (TIFF) Compression. By default, this property is LZW. |
css | This property gets a CssOptions object, which is used for the configuration of CSS properties processing. |
format | Sets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. |
background_color | This property allows you to set the background color for the rendered output. If not set, the default background is transparent. |
page_setup | This property allows you to define the layout of the page, including dimensions and margins. |
horizontal_resolution | Sets the horizontal resolution for output and internal images in pixels per inch (dpi). By default, this property is set to 300 dpi, which is used unless overridden by specific conditions. The resolution is always applied unless the Page size is set in pixels (px), in which case the default resolution is 96 dpi. |
vertical_resolution | Sets the vertical resolution for output and internal images in pixels per inch (dpi). By default, this property is set to 300 dpi, which is used unless overridden by specific conditions. The resolution is always applied unless the Page size is set in pixels (px), in which case the default resolution is 96 dpi. |
smoothing_mode | This property sets the rendering quality for this image. |
text | Gets a TextOptions object which is used for configuration of text rendering. |
Sie können unseren kostenlosen Online- SVG-zu-JPG-Konverter ausprobieren, der in hoher Qualität, einfach und schnell funktioniert. Laden Sie einfach SVG hoch, konvertieren Sie es und erhalten Sie in Sekundenschnelle Ergebnisse! Es ist schnell, einfach und völlig kostenlos!