So konvertieren Sie SVG-Dateien – C#-Beispiele

Das Konvertieren von SVG-Dokumenten in andere Formate ist eine der Hauptfunktionen von Aspose.SVG für .NET API. Die Konvertierung ist aus verschiedenen Gründen erforderlich: um in einem vertrauten, praktischen Format zu arbeiten oder um verschiedene Formate für bestimmte Aufgaben zu nutzen. Die Artikel in diesem Abschnitt enthalten Informationen zu einer Liste unterstützter SVG-Konvertierungsszenarien und deren Ausführung in C#.

Aspose.SVG für .NET API kann SVG-Dateien in PDF, XPS, JPG, PNG konvertieren. Dateiformate BMP, TIFF und GIF. Sie können die API in Ihrer C#- oder anderen .NET-Anwendung (z. B. VB.NET) verwenden, um Konverteranwendungen zu entwickeln, ohne sich mit den Details der zugrunde liegenden Dateiformate befassen zu müssen.

Online-SVG-Konverter

Sie können SVG mit der Aspose.SVG-API in Echtzeit in andere Formate konvertieren. Bitte laden Sie SVG aus dem lokalen Dateisystem, wählen Sie das Ausgabeformat und führen Sie das Beispiel aus. In diesem Beispiel sind die Speicheroptionen standardmäßig festgelegt. Das Ergebnis erhalten Sie umgehend als separate Datei.

                
            

Ein paar Möglichkeiten, SVG in C# zu konvertieren

Sie können SVG auf beliebige Weise in verschiedene gängige Formate konvertieren – online oder programmgesteuert. Die Konvertierung von SVG in andere Formate kann mithilfe der Methoden ConvertSVG() der Klasse Converter und der Methode RenderTo(device) der Klasse SVGDocument erfolgen. Klasse oder die Render(IDevice, TDocument) Methode der Klasse Renderer.

Im aktuellen Abschnitt werden unterstützte Szenarien für die Konvertierung von SVG-Dateien in andere gängige Formate mithilfe der Klassen Converter und SVGDocument beschrieben:

  1. Die statische Converter-Klasse ist eine gemeinsame Fassade, die die Konvertierung von SVG-Dateien in die gängigen Formate ermöglicht und es ermöglicht, diese Vorgänge bequem und einfach zu gestalten. Eine Vielzahl von ConvertSVG()-Methoden verwenden als Argumente das Quelldokument, Speicheroptionen, den Ausgabedateipfad und konvertieren SVG in PDF-, XPS- oder Bilddateien.
  2. Die RenderTo()-Methode der SVGDocument-Klasse wird verwendet, um SVG in ein anderes Format zu rendern und ein Dokument an das Ausgabegerät zu senden. Die Aspose.SVG-API stellt die folgende Ausgabegeräteimplementierung bereit: die Klassen PdfDevice, XpsDevice und ImageDevice, die das Rendern in die Dateiformate PDF, XPS bzw. Bild durchführen.
  3. Die Render(IDevice, TDocument) Methode der Klasse Renderer gibt Ihnen die Möglichkeit, mehrere Dokumente gleichzeitig an das Ausgabe-Rendering-Gerät zu senden und sie zusammenzuführen. Weitere Informationen finden Sie im Artikel So führen Sie SVG-Dokumente zusammen.

Betrachten wir beide Szenarien der Konvertierung eines SVG-Dokuments in ein anderes Dateiformat, zum Beispiel SVG in PNG:

Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen. Informationen zum Herunterladen von GitHub und zum Ausführen von Beispielen finden Sie im Abschnitt So führen Sie die Beispiele aus.

Konvertieren Sie SVG mit der Methode ConvertSVG() in PNG

Das Konvertieren einer Datei in ein anderes Format mit der Methode ConvertSVG() ist eine Abfolge von Vorgängen, darunter das Laden und Speichern von Dokumenten:

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Saving;
 4using Aspose.Svg.Converters;
 5...
 6
 7    // Initialize an SVG document from a file
 8    using (var document = new SVGDocument(Path.Combine(DataDir, "svg-to-png.svg")))
 9    {
10        // Create an instance of the ImageSaveOptions class
11    	var pngSaveOptions = new ImageSaveOptions();
12
13        // Convert SVG to PNG
14    	Converter.ConvertSVG(document, pngSaveOptions, Path.Combine(OutputDir, "svg-to-png.png"));
15    }

Im Beispiel initialisiert der Konstruktor ImageSaveOptions() eine Instanz der ImageSaveOptions-Klasse, die an die ConvertSVG()-Methode übergeben wird. Die Methode ConvertSVG(source, options, outputPath) übernimmt die erforderlichen Attribute und führt den Konvertierungsvorgang durch.

Die Abbildung zeigt die Datei „svg-to-png.png“.

Text „svg-to-png.svg-Datei in PNG gerendert“

Konvertieren Sie SVG mit der RenderTo()-Methode in PNG

Um SVG mit der RenderTo()-Methode in PNG zu konvertieren, führen Sie die folgenden Schritte aus:

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Rendering.Image;
 4...
 5
 6	// Open a source SVG document 
 7	using (var document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
 8	{
 9	    // Initialize an instance of the ImageRenderingOptions class 
10		var pngOptions = new ImageRenderingOptions();
11
12		// Initialize an instance of ImageDevice and specify the output file to render
13	    using (var device = new ImageDevice(pngOptions, Path.Combine(OutputDir, "light_out.png")))
14	    {
15	        // Render SVG to PNG
16			document.RenderTo(device);
17		}
18	}

Der Konstruktor ImageDevice(options, file) verwendet als Argumente eine Instanz der ImageRenderingOptions-Klasse, den Namen der Ausgabedatei und initialisiert eine neue Instanz der Klasse ImageDevice. Die Methode RenderTo(device) konvertiert das aktuelle Dokument und sendet es an das Ausgabe-Rendering-Gerät.

Die Abbildung zeigt das Ergebnis der SVG-zu-PNG-Konvertierung – die Datei „light.png“.

Text „light.svg-Datei mit RenderTo()-Methode in PNG gerendert“

Allgemeine Optionen

Sie können den Rendering-Prozess anpassen, indem Sie die Seitengröße, Ränder, Hintergrundfarbe usw. angeben. Für die Konvertierung von SVG in alle oben genannten Formate werden von der Klasse RenderingOptions die folgenden Eigenschaften geerbt: BackgroundColor, Css, HorizontalResolution, PageSetup und VerticalResolution.

Jedes Ausgabegerät PdfDevice, XpsDevice und ImageDevice verfügt über einen eigenen Satz von Optionen, die jeweils mit den Klassen PdfRenderingOptions, XpsRenderingOptions und ImageRenderingOptions implementiert werden.

Die Optionen, die mit den Klassen PdfSaveOptions, XpsSaveOptions und ImageSaveOptions implementiert werden, erben jeweils von den Klassen PdfRenderingOptions, XpsRenderingOptions und ImageRenderingOptions.

Aspose.SVG bietet einen kostenlosen Online- SVG-Konverter zum Konvertieren von SVG-Dateien in eine Vielzahl gängiger Formate. Sie können SVG problemlos in PDF, SVG in XPS, SVG in JPG, SVG in PNG, SVG in BMP, SVG in TIFF und SVG in GIF konvertieren. Wählen Sie einfach eine Datei aus, wählen Sie das zu konvertierende Format und schon sind Sie fertig. Es ist schnell und völlig kostenlos!

Text „Banner SVG Converter“

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.