Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: Um SVG in PNG in Python zu konvertieren, laden Sie die Quelldatei mit
SVGDocument, erstellen
ImageSaveOptions und übergeben beides an
Converter.convert_svg(). PNG ist das Standard-Bildformat, und ImageSaveOptions steuert Hintergrundfarbe, Seitengröße, Ränder und Auflösung.
PNG ist ein verlustfreies Rasterformat mit Transparenzunterstützung. Es eignet sich für Webgrafiken, Vorschauen, Thumbnails und Anwendungen, die SVG nicht direkt rendern können.
Das folgende Beispiel konvertiert document.svg mit Standard-PNG-Einstellungen in result.png:
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import ImageSaveOptions
4
5# Convert an SVG file to PNG using the default save options
6options = ImageSaveOptions()
7
8with SVGDocument("document.svg") as document:
9 Converter.convert_svg(document, options, "result.png")Der Code führt drei Schritte aus:
result.png.Verwenden Sie ImageSaveOptions, wenn das PNG eine bestimmte Zeichenfläche, einen Hintergrund oder eine Auflösung benötigt. Das Beispiel konvertiert winter.svg, fügt einen festen Hintergrund hinzu, erstellt eine Seite von 600 × 550 mit 10-Pixel-Rändern und rendert mit 96 dpi:
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.saving import ImageSaveOptions
5from aspose.svg.drawing import Resolution, Page, Size, Margin
6from aspose.pydrawing import Color
7
8# Convert SVG to PNG with a custom background, page, and resolution
9input_folder = "data/"
10output_folder = "output/"
11input_path = os.path.join(input_folder, "winter.svg")
12output_path = os.path.join(output_folder, "winter.png")
13os.makedirs(output_folder, exist_ok=True)
14
15options = ImageSaveOptions()
16options.background_color = Color.from_argb(231, 217, 230)
17options.page_setup.any_page = Page(Size(600, 550), Margin(10, 10, 10, 10))
18options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
19options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
20
21with SVGDocument(input_path) as document:
22 Converter.convert_svg(document, options, output_path)Das resultierende PNG verwendet die angeforderten Seiteneinstellungen, statt sich nur auf den SVG-Viewport zu verlassen. Die Abbildung vergleicht das Quell-SVG mit dem PNG auf neuem Hintergrund.

| Eigenschaft | Wann verwenden |
|---|---|
| background_color | Transparente Bereiche mit einer gewählten Farbe füllen |
| page_setup | Seitengröße und Ränder festlegen |
| horizontal_resolution | Horizontale Ausgabeauflösung in dpi festlegen |
| vertical_resolution | Vertikale Ausgabeauflösung in dpi festlegen |
| smoothing_mode | Rasterisierungsqualität steuern |
| text | Textrendering über TextOptions konfigurieren |
Wenn background_color nicht gesetzt ist, bleiben transparente SVG-Bereiche in PNG transparent. Die Auflösung beeinflusst die Rasterdichte, während page_setup die Ausgabefläche steuert.
| Problem | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Das PNG ist leer oder abgeschnitten | Das SVG hat keinen nutzbaren Viewport oder die Ausgabeseite ist zu klein | Definieren Sie width, height oder viewBox, oder setzen Sie options.page_setup.any_page |
| Transparente Bereiche sehen unerwartet aus | Kein Ausgabefond wurde angegeben | Setzen Sie options.background_color, wenn eine feste Zeichenfläche nötig ist |
| Text sieht anders aus | Eine referenzierte Schriftart ist nicht verfügbar | Installieren Sie die Schriftart oder vektorisieren Sie Text vor der Konvertierung |
| Verknüpfte Bilder oder CSS fehlen | Relative Ressourcen können nicht aufgelöst werden | Laden Sie SVG vom Dateipfad oder geben Sie eine korrekte Basis-URI an |
| Ausgabeabmessungen sind unerwartet | Seitengröße und Auflösung werden verwechselt | Verwenden Sie page_setup für Abmessungen und horizontal_resolution/vertical_resolution für dpi |
Sie können die SVG-zu-PNG-Konvertierung auch im Browser testen. Laden Sie eine SVG-Datei hoch, wählen Sie PNG und vergleichen Sie das Ergebnis mit Ihrer programmgesteuerten Ausgabe.
Erstellen Sie ImageSaveOptions, öffnen Sie die Quelle mit SVGDocument und rufen Sie Converter.convert_svg(document, options, output_path) auf.
Ja. PNG unterstützt Transparenz, und transparente SVG-Bereiche bleiben transparent, sofern Sie ImageSaveOptions.background_color nicht setzen.
Setzen Sie ImageSaveOptions.page_setup mit Page, Size und Margin. Verwenden Sie die Auflösungseigenschaften separat, wenn eine bestimmte dpi-Zahl nötig ist.
Ja. Erstellen Sie ein SVGDocument aus dem SVG-String und einer Basis-URI, und übergeben Sie das Dokument an Converter.convert_svg().
PdfDevice.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.