SVG in JPG in Python konvertieren

Quick Answer: Um SVG in JPG in Python zu konvertieren, laden Sie die Quelldatei mit SVGDocument, erstellen ImageSaveOptions, setzen options.format = ImageFormat.JPEG und rufen Converter.convert_svg(document, options, output_path) auf. Setzen Sie eine Hintergrundfarbe, weil JPG keine Transparenz unterstützt.

SVG programmgesteuert in JPG konvertieren

JPG eignet sich für kompakte Rastervorschauen, Thumbnails, Berichtsbilder oder Webressourcen, wenn Transparenz nicht erforderlich ist. Enthält das SVG transparente Bereiche, wählen Sie vor der Konvertierung eine eindeutige Hintergrundfarbe.

Bevor Sie die Beispiele ausführen, installieren Sie Aspose.SVG for Python via .NET in Ihrer Python-Umgebung.

SVG mit Standardeinstellungen in JPG konvertieren

Das folgende Beispiel lädt document.svg, wählt JPEG-Ausgabe und speichert das Ergebnis als document.jpg.

 1from aspose.svg import SVGDocument
 2from aspose.svg.converters import Converter
 3from aspose.svg.rendering.image import ImageFormat
 4from aspose.svg.saving import ImageSaveOptions
 5
 6# Convert an SVG file to JPG
 7options = ImageSaveOptions()
 8options.format = ImageFormat.JPEG
 9
10with SVGDocument("document.svg") as document:
11    Converter.convert_svg(document, options, "document.jpg")

Das Beispiel verwendet SVGDocument zum Laden der Quelldatei, ImageSaveOptions mit ImageFormat.JPEG für JPG-Ausgabe und Converter.convert_svg() zum Schreiben der konvertierten Datei.

SVG mit benutzerdefinierten Optionen in JPG konvertieren

Verwenden Sie ImageSaveOptions, wenn das JPG eine bestimmte Zeichenfläche, einen Hintergrund oder eine Auflösung benötigt. Das nächste Beispiel setzt einen hellen Hintergrund, erstellt eine 450 × 450-Seite mit Rändern und rendert mit 96 dpi.

 1import os
 2from aspose.svg import SVGDocument
 3from aspose.svg.converters import Converter
 4from aspose.svg.drawing import Margin, Page, Resolution, Size
 5from aspose.svg.rendering.image import ImageFormat
 6from aspose.svg.saving import ImageSaveOptions
 7from aspose.pydrawing import Color
 8
 9# Convert SVG to JPG with custom background, page size, and resolution
10input_folder = "data/"
11output_folder = "output/"
12input_path = os.path.join(input_folder, "flower.svg")
13output_path = os.path.join(output_folder, "flower.jpg")
14os.makedirs(output_folder, exist_ok=True)
15
16options = ImageSaveOptions()
17options.format = ImageFormat.JPEG
18options.background_color = Color.from_argb(240, 240, 240)
19options.page_setup.any_page = Page(Size(350, 350), Margin(10, 10, 10, 10))
20options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
21options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
22
23with SVGDocument(input_path) as document:
24    Converter.convert_svg(document, options, output_path)

Das folgende Bild zeigt die SVG-Quelle (a) und das konvertierte JPG-Ergebnis (b) mit benutzerdefinierter Hintergrundfarbe.

Original-SVG und konvertiertes JPG mit benutzerdefiniertem Hintergrund

Wichtige ImageSaveOptions-Eigenschaften

EigenschaftWann verwenden
formatJPEG-Ausgabe mit ImageFormat.JPEG wählen
background_colorTransparente SVG-Bereiche vor dem Speichern als JPG füllen
page_setupSeitengröße, Ränder und Canvas-Layout festlegen
horizontal_resolutionHorizontale Ausgabeauflösung in dpi festlegen
vertical_resolutionVertikale Ausgabeauflösung in dpi festlegen
smoothing_modeRasterisierungsqualität für Formen und Kanten steuern

Häufige Fehler und Lösungen

ProblemWahrscheinliche UrsacheLösung
JPG hat schwarzen oder unerwarteten HintergrundDas Quell-SVG enthält Transparenz, JPG kann sie nicht speichernSetzen Sie vor der Konvertierung options.background_color
Das Bild ist leer oder abgeschnittenDas SVG hat keinen nutzbaren Viewport oder die Ausgabeseite ist zu kleinDefinieren Sie width, height oder viewBox, oder konfigurieren Sie options.page_setup.any_page
Verknüpfte Bilder, CSS oder Schriftarten fehlenRelative Ressourcen können vom aktuellen Eingabepfad nicht aufgelöst werdenLaden Sie SVG vom ursprünglichen Dateipfad und halten Sie Ressourcen relativ dazu bereit
Dateiendung und tatsächliches Format passen nichtoptions.format ist nicht ImageFormat.JPEG oder der Ausgabepfad hat die falsche EndungSetzen Sie options.format = ImageFormat.JPEG und speichern Sie als .jpg oder .jpeg
Linien, Icons oder Text wirken gezacktAusgabeabmessungen oder Rasterauflösung sind zu niedrigErhöhen Sie Seitengröße oder Auflösung und prüfen Sie smoothing_mode

Online-SVG-zu-JPG-Konverter

Verwenden Sie den kostenlosen Online- SVG to JPG Converter, um die Ausgabe zu testen, bevor Sie denselben Workflow in Python implementieren.

                
            

Online-SVG-zu-JPG-Konverter

FAQ

Wie konvertiere ich SVG in JPG in Python?

Laden Sie SVG mit SVGDocument, setzen Sie ImageSaveOptions.format auf ImageFormat.JPEG und rufen Sie Converter.convert_svg(document, options, output_path) auf.

Soll ich für SVG-Konvertierung JPG oder PNG verwenden?

Verwenden Sie JPG für kompakte Vorschauen, Thumbnails und Webbilder ohne Transparenz. Verwenden Sie PNG, wenn verlustfreie Rasterausgabe oder transparente Bereiche benötigt werden.

Bleibt das konvertierte JPG ein editierbares Vektorbild?

Nein. JPG ist ein Rasterformat. Nach der Konvertierung enthält die Ausgabe Pixel, keine editierbaren SVG-Elemente, Pfade oder Textknoten.

Kann ich die Ausgabe als .jpeg statt .jpg speichern?

Ja. Verwenden Sie ImageFormat.JPEG und wählen Sie .jpg oder .jpeg im Ausgabedateinamen.

Kann ich SVG aus einer URL oder einem Speicher-String in JPG konvertieren?

Ja. Erstellen Sie ein SVGDocument aus URL, Dateistream oder SVG-Markup mit gültiger Basis-URI und übergeben Sie es mit JPEG-Optionen an Converter.convert_svg().

Kann ich viele SVG-Dateien in JPG konvertieren?

Ja. Durchlaufen Sie den Eingabeordner, verwenden Sie dieselben ImageSaveOptions und rufen Sie Converter.convert_svg() für jede SVG-Datei auf. Siehe SVG-Dateien batchweise konvertieren.

Verwandte Artikel