Konvertieren Sie SVG mit C# 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 .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 aus dem lokalen Dateisystem, 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 Bildformate konvertieren möchten, sehen Sie sich bitte die folgenden Konvertierungsszenarien und C#-Beispiele an.

Konvertieren Sie SVG in JPG

JPG ist eines der am häufigsten verwendeten Bildformate. Seine Einzigartigkeit liegt im kontrollierten Qualitätsverlust bei der Komprimierung. Daher wird es häufig zum Speichern und Versenden grafischer digitaler Inhalte (Fotos, gescannte Kopien, digitalisierte Bilder) über das Internet verwendet. Mit Aspose.SVG können Sie die Formate SVG in JPG, SVG in PNG, SVG in BMP, SVG in GIF oder SVG in TIFF programmgesteuert konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern.

Verwenden der ConvertSVG()-Methode

Die Verwendung der Methoden ConvertSVG() ist die gebräuchlichste Methode zum Konvertieren von SVG in verschiedene gängige Formate. Der folgende Codeausschnitt zeigt, wie SVG in JPG konvertiert wird:

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Saving;
 4using Aspose.Svg.Converters;
 5using Aspose.Svg.Rendering.Image;
 6...
 7
 8	// Initialize an SVG document from a file
 9    using (var document = new SVGDocument(Path.Combine(DataDir, "owl-edited.svg")))
10    {
11        // Initialize ImageSaveOptions 
12        var saveOptions = new ImageSaveOptions(ImageFormat.Jpeg);
13
14        // Convert SVG to JPG
15        Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "owl-edited.jpg"));
16    }

Die Abbildung zeigt die Datei „eule-edited.jpg“.

Text „owl-edited.svg-Datei in JPG gerendert“

Im Artikel Navigation & Inspection SVG können Sie C#-Beispiele dafür sehen, wie die ursprüngliche Datei owl.svg mit dem CSS-Selektor bearbeitet wurde.

Verwenden der RenderTo()-Methode

Überlegen Sie, wie Sie ein Dokument mithilfe der RenderTo()-Methode von SVG in JPG konvertieren:

Das folgende Beispiel zeigt, wie die Eigenschaften Format und SmoothingMode für die Konvertierung von SVG in JPG angewendet werden:

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Rendering;
 4using Aspose.Svg.Rendering.Image;
 5using System.Drawing.Drawing2D;
 6...
 7
 8    // Initialize an SVG document from a file
 9    using (var document = new SVGDocument(Path.Combine(DataDir, "owl.svg")))
10    {
11        // Set Format and SmoothingMode for jpgOptions1
12        var jpegOptions1 = new ImageRenderingOptions(ImageFormat.Jpeg);
13        jpegOptions1.SmoothingMode = SmoothingMode.AntiAlias;
14
15        // Set Format and SmoothingMode for jpgOptions2
16        var jpegOptions2 = new ImageRenderingOptions(ImageFormat.Jpeg);
17        jpegOptions2.SmoothingMode = SmoothingMode.Default;
18
19        // Initialize an instance of the ImageDevice class and specify the output file to render
20        using (IDevice device = new ImageDevice(jpegOptions1, Path.Combine(OutputDir, "owl_out1.jpg")))
21        {
22            // Render SVG to JPG
23            document.RenderTo(device);
24        }
25        using (IDevice device = new ImageDevice(jpegOptions2, Path.Combine(OutputDir, "owl_out2.jpg")))
26        {
27            document.RenderTo(device);
28        }
29    }

Der Konstruktor ImageRenderingOptions() initialisiert eine Instanz der ImageRenderingOptions-Klasse, die an den Konstruktor ImageDevice() übergeben wird. Der Konstruktor ImageDevice(options, file) nimmt die options, file und erstellt die Instanz der ImageDevice-Klasse. Die Methode RenderTo(device) nimmt die Instanz der ImageDevice-Klasse und rendert SVG in JPG. Die Klasse ImageRenderingOptions bietet zahlreiche Eigenschaften, die Ihnen die volle Kontrolle über eine Vielzahl von Parametern geben und den Prozess der Konvertierung von SVG in das JPG-Format verbessern. Die Eigenschaft Format legt das Bildformat fest. Standardmäßig ist diese Eigenschaft Png. Um SVG in JPG zu konvertieren, müssen Sie ImageFormat.Jpeg verwenden.

Text „Die resultierenden Bildfragmente“

Im obigen Beispiel konvertieren wir die SVG-Datei owl.svg in JPG mit unterschiedlichen SmoothingMode-Werten. Die Abbildung zeigt gezoomte (250 %) JPG-Bildfragmente: a) Der Wert von SmoothingMode ist AntiAlias; b) Der Wert von SmoothingMode ist Default.

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.

Save Options

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.

PropertyDescription
CompressionSets Tagged Image File Format (TIFF) Compression. By default, this property is LZW.
CSSGets a CssOptions object which is used for configuration of CSS properties processing.
FormatSets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG.
BackgroundColorThis property sets the color that will fill the background. By default, this property is Transparent.
PageSetupThis property gets a page setup object and uses it for configuration output page-set.
HorizontalResolutionSets horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
VerticalResolutionSets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
SmoothingModeThis property sets the rendering quality for this image. Available values are Invalid, Default, HighSpeed, HighQuality, None, and AntiAlias.
TextGets 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.

Konvertieren Sie SVG in PNG

Das PNG-Format verwendet einen verlustfreien Komprimierungsalgorithmus zum Speichern von Rasterbildern. Es unterstützt nur das RGB-Farbmodell und ist nicht für den Bilddruck konzipiert. PNG wird häufig verwendet, um Bilder über das Netzwerk zu übertragen und Fotos und Grafiken auf Webseiten und Cloud-Laufwerks-Repositorys anzuzeigen.

Verwenden der ConvertSVG()-Methode

Der folgende Codeausschnitt zeigt, wie Sie eine SVG-Datei von Grund auf vorbereiten und in PNG konvertieren:

Das folgende Beispiel zeigt, wie man ImageSaveOptions verwendet und SVG mit benutzerdefinierten Speicheroptionen in PNG konvertiert:

 1using Aspose.Svg;
 2using System.IO;
 3using System.Drawing;
 4using Aspose.Svg.Saving;
 5using Aspose.Svg.Converters;
 6...
 7
 8    // Prepare SVG code and save it to a file
 9    var code = "<svg xmlns='https://www.w3.org/2000/svg'>" +
10               "<circle cx='100' cy='150' r='50' stroke='#2F4F4F' stroke-width='4' fill='#FF7F50' />" +
11               "<circle cx='180' cy='200' r='60' stroke='#2F4F4F' stroke-width='4' fill='#008B8B' />" +
12               "</svg>";
13    File.WriteAllText("example.svg", code);
14
15    // Initialize an SVG document from the file
16    using (var document = new SVGDocument("example.svg"))
17    {
18        // Initialize an instance of the ImageSaveOptions class and set the BackgroundColor property
19        var saveOptions = new ImageSaveOptions();
20        saveOptions.BackgroundColor = Color.Gainsboro;
21
22        // Convert SVG to PNG
23        Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "output.png"));
24    }

Im Beispiel initialisiert der Konstruktor ImageSaveOptions() eine Instanz der ImageSaveOptions-Klasse, die an die ConvertSVG()-Methode übergeben wird. Die Methode ConvertSVG() verwendet das document, saveOptions und den Ausgabedateipfad und führt die SVG-zu-PNG-Konvertierung durch.

Hinweis: Wir geben die Eigenschaft Format nicht für die Konvertierung in PNG an. Der Konstruktor ImageSaveOptions() verwendet Png als Standardbildformat.

Verwenden der RenderTo()-Methode

Betrachten wir, wie man SVG mit der RenderTo()-Methode in PNG konvertiert:

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Rendering;
 4using Aspose.Svg.Rendering.Image;
 5...
 6
 7	// Prepare a path to a source SVG file
 8	string documentPath = Path.Combine(DataDir, "snowflake.svg");
 9
10    // Initialize an SVG document from a file
11    using (var document = new SVGDocument(documentPath))
12    {
13        // Create the ImageDevice, set image Format and specify output file to render
14        using (IDevice device = new ImageDevice(new ImageRenderingOptions(), Path.Combine(OutputDir, "snowflake.png")))
15        {
16            // Render SVG to PNG
17            document.RenderTo(device);
18        }
19    }

Der Konstruktor ImageRenderingOptions() initialisiert eine Instanz der ImageRenderingOptions-Klasse, die an den Konstruktor ImageDevice() übergeben wird. Der Konstruktor ImageDevice(options, file) nimmt die options, file und erstellt die Instanz der ImageDevice-Klasse. Die Methode RenderTo(device) nimmt die Instanz der ImageDevice-Klasse und rendert SVG in PNG.

Die Abbildung zeigt die Datei snowflake.png.

Text „snowflake.svg-Datei in PNG gerendert“

Konvertieren Sie SVG in BMP

BMP-Bilddateien bewahren ihre Bildqualität und speichern Farbdaten für jedes Pixel ohne jegliche Komprimierung, aber große Dateigrößen machen sie für die Verwendung im Web ungeeignet. Auch für die Druckvorstufe ist dieses Format nicht geeignet, da es auf RGB beschränkt ist.

Die Aspose.SVG-API kann ein Dokument in mehreren Schritten vom SVG- in das BMP-Speicherformat konvertieren:- Öffnen Sie das SVG-Quelldokument ( conclusion.svg).

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Rendering;
 4using Aspose.Svg.Rendering.Image;
 5...
 6
 7    // Open a source SVG document
 8     using (var document = new SVGDocument(Path.Combine(DataDir, "conclusion.svg")))
 9    {
10       // Create ImageDevice, set image Format and specify the output file to render
11       using (IDevice device = new ImageDevice(new ImageRenderingOptions(ImageFormat.Bmp), Path.Combine(OutputDir, "conclusion_out.bmp")))
12       {
13           // Render SVG to BMP
14    	   document.RenderTo(device);
15       }
16    }

Der Konstruktor ImageRenderingOptions() initialisiert eine Instanz der ImageRenderingOptions-Klasse, die an den Konstruktor ImageDevice() übergeben wird. Der Konstruktor ImageDevice(options, file) nimmt die options, file und erstellt die Instanz der ImageDevice-Klasse. Die Methode RenderTo(device) nimmt die Instanz der ImageDevice-Klasse und rendert SVG in BMP.

Konvertieren Sie SVG in TIFF

TIFF ist ein Format zum Speichern von Rastergrafikbildern mit einer breiten Farbpalette. TIFF wird von Scan-, Fax-, Textverarbeitungs-, optischen Zeichenerkennungs-, Bildbearbeitungs- und Seitenlayout-Anwendungen unterstützt. Es wird häufig für den Polygraphie- und Zeitschriftenoffsetdruck verwendet.

Die Aspose.SVG-API kann ein Dokument in mehreren Schritten vom SVG- in das TIFF-Speicherformat konvertieren:

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Rendering;
 4using Aspose.Svg.Rendering.Image;
 5...
 6
 7    // Open a source SVG document
 8    using (var document = new SVGDocument(Path.Combine(DataDir, "conclusion.svg")))
 9    {
10        // Initialize an instance of the ImageRenderingOptions class and set Format and Compression properties
11        var tiffOptions = new ImageRenderingOptions(ImageFormat.Tiff);
12        tiffOptions.Compression = Compression.None;
13
14        // Initialize an instance of the ImageDevice class and specify the output file to render
15        using (IDevice device = new ImageDevice(tiffOptions, Path.Combine(OutputDir, "conclusion.tiff")))
16        {
17            // Render SVG to TIFF
18            document.RenderTo(device);
19        }
20    }

Der Konstruktor ImageRenderingOptions() initialisiert eine Instanz der ImageRenderingOptions-Klasse, die an den Konstruktor ImageDevice() übergeben wird. Der Konstruktor ImageDevice(options, file) nimmt die options, file und erstellt die Instanz der ImageDevice-Klasse. Die Methode RenderTo(device) nimmt die Instanz der ImageDevice-Klasse und rendert SVG in TIFF.

Die Klasse ImageRenderingOptions bietet zahlreiche Eigenschaften, die Ihnen die volle Kontrolle über eine Vielzahl von Parametern geben und den Prozess der Konvertierung von SVG in das TIFF-Format verbessern. Mit der Eigenschaft Compression können Sie beispielsweise die Komprimierung für das TIFF-Dateiformat festlegen. Im obigen Beispiel geben wir Compression.None ein.

Konvertieren Sie SVG in GIF

GIF ist ein beliebtes Bildformat, das animierte Bilder unterstützt und häufig im Web-Publishing verwendet wird. Der folgende Codeausschnitt zeigt, wie man SVG mit der Aspose.SVG für .NET-API in GIF konvertiert:

Das folgende Beispiel zeigt, wie Sie ImageSaveOptions verwenden und das Ausgabebild mit benutzerdefinierten PageSetup-Eigenschaften erstellen:

 1using Aspose.Svg;
 2using System.IO;
 3using Aspose.Svg.Drawing;
 4using Aspose.Svg.Saving;
 5using Aspose.Svg.Converters;
 6using Aspose.Svg.Rendering.Image;
 7...
 8
 9    // Initialize an SVG document from a file
10    using (var document = new SVGDocument(Path.Combine(DataDir, "owl.svg")))
11    {
12        // Initialize an instance of the ImageSaveOptions class and set PageSetup property
13        var saveOptions = new ImageSaveOptions(ImageFormat.Gif);
14        saveOptions.PageSetup.AnyPage = new Page(new Drawing.Size(400, 600), new Margin(20, 20, 20, 20));
15        
16        // Convert SVG to GIF
17        Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "owl.gif"));
18    }

Sie können unseren kostenlosen Online- SVG-zu-JPG-Konverter ausprobieren, der in hoher Qualität, einfach und schnell funktioniert. Laden Sie einfach Ihre Dateien hoch, konvertieren Sie sie und erhalten Sie in wenigen Sekunden Ergebnisse!

Text „Banner SVG to JPG Converter“

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.