SVG in JPG konvertieren in C#
JPG-Dateien können hochwertige Bilddaten mit verlustfreier Komprimierung enthalten. Diese einzigartige Komprimierungsfunktion ermöglicht die schnelle und effiziente Weitergabe von JPG-Bildern und ihre breite Verwendung im Web, auf Computern und mobilen Geräten. Die Verwendung von ConvertSVG() Methoden ist der gängigste Weg, um SVG in verschiedene Formate zu konvertieren. Mit Aspose.HTML können Sie SVG in das JPG-Format programmatisch konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern.
In diesem Artikel finden Sie Informationen zur Konvertierung von SVG in JPG unter Verwendung der ConvertSVG()-Methoden der Klasse Converter und zur Anwendung der Parameter ImageSaveOptions und ICreateStreamProvider. Außerdem können Sie einen Online-SVG-Konverter ausprobieren, um die Aspose.HTML-API-Funktionalität zu testen und SVG on the fly zu konvertieren.
Online SVG Konverter
Sie können SVG mit Aspose.HTML 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. Die Speicheroptionen sind standardmäßig eingestellt. Sie erhalten das Konvertierungsergebnis sofort als separate Datei.
Wenn Sie SVG- in JPG-Bilder programmatisch konvertieren möchten, sehen Sie sich bitte die folgenden C#-Codebeispiele an.
SVG zu JPG mit einer einzigen Codezeile
Die statischen Methoden der Klasse Converter dienen in erster Linie als einfachste Möglichkeit, eine SVG-Datei in verschiedene Formate zu konvertieren. Sie können SVG in Ihrer C#-Anwendung buchstäblich mit einer einzigen Codezeile in JPG konvertieren!
Im folgenden Beispiel nehmen wir eine SVG-Datei in einem lokalen Dateisystem ( shapes.svg), konvertieren und speichern sie im lokalen Dateisystem.
1// Convert SVG to JPG using C#
2
3// Invoke the ConvertSVG() method for SVG to JPG conversion
4Converter.ConvertSVG(Path.Combine(DataDir, "shapes.svg"), new ImageSaveOptions(ImageFormat.Jpeg), Path.Combine(OutputDir, "convert-with-single-line.jpg"));
SVG in JPG konvertieren in C#
Die Konvertierung einer Datei in ein anderes Format mit der Methode ConvertSVG() ist eine Abfolge von Operationen, darunter das Laden und Speichern von Dokumenten. Im folgenden Beispiel erstellen wir eine SVG-Datei aus dem Code.
- Bereiten Sie den Code für ein SVG-Dokument vor.
- Erstellen Sie ein neues
ImageSaveOptions-Objekt mit
ImageFormat.Jpeg
. Die Eigenschaft Format ist standardmäßig PNG. - Verwenden Sie die Methode
ConvertSVG(
inhalt
,baseUri
,options
,outputPath
) der Klasse Converter, um SVG als JPG-Bild zu speichern.
Bitte werfen Sie einen Blick auf das folgende C#-Code-Snippet, das den Prozess der Umwandlung von SVG in JPG mit Aspose.HTML for .NET zeigt.
1// Convert SVG to JPG in C#
2
3// Prepare SVG code
4string code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
5 "<circle cx ='100' cy ='100' r ='55' fill='green' stroke='red' stroke-width='10' />" +
6 "</svg>";
7
8// Prepare a path for converted file saving
9string savePath = Path.Combine(OutputDir, "circle.jpg");
10
11// Create an instance of the ImageSaveOptions class
12ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg);
13
14// Convert SVG to JPG
15Converter.ConvertSVG(code, ".", options, savePath);
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.
Speicheroptionen – ImageSaveOptions
Aspose.HTML ermöglicht die Konvertierung von SVG in JPG mit Standard- oder benutzerdefinierten Speicheroptionen. die Verwendung von ImageSaveOptions ermöglicht es Ihnen, den Rendering-Prozess anzupassen. Sie können das Bildformat, die Seitengröße, die Ränder, die Hintergrundfarbe usw. angeben.
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. |
BackgroundColor | This property sets the color that will fill the background. By default, this property is Transparent. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
HorizontalResolution | Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
UseAntialiasing | This property sets the image rendering quality. Antialiasing is enabled by default. |
Text | Gets a TextOptions object which is used for configuration of text rendering. |
SVG in JPG konvertieren mit ImageSaveOptions
Um SVG in JPG mit ImageSaveOptions zu konvertieren, sollten Sie ein paar Schritte befolgen:
- Laden Sie eine SVG-Datei mit einem der SVGDocument()-Konstruktoren der Klasse SVGDocument. ( flower.svg).
- Erstellen Sie ein neues ImageSaveOptions-Objekt mit JPG ImageFormat und geben Sie die Speicheroptionen an. Die Eigenschaft Format ist standardmäßig PNG.
- Verwenden Sie die Methode ConvertSVG(), um SVG als JPG-Bild zu speichern. Sie müssen das SVGDocument, ImageSaveOptions und den Pfad der Ausgabedatei an die Methode ConvertSVG() übergeben, um SVG in JPG zu konvertieren.
Das folgende C#-Codefragment zeigt, wie man SVG in JPG konvertiert, indem man benutzerdefinierte Speicheroptionen verwendet:
1// Convert SVG to JPG in C# with custom background, resolution, and antialiasing settings
2
3// Prepare a path to a source SVG file
4string documentPath = Path.Combine(DataDir, "flower.svg");
5
6// Prepare a path for converted file saving
7string savePath = Path.Combine(OutputDir, "flower-options.jpg");
8
9// Initialize an SVG document from the file
10using SVGDocument document = new SVGDocument(documentPath);
11
12// Create an instance of the ImageSaveOptions class. Set up the resolutions, SmoothingMode and change the background color to AliceBlue
13ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg)
14{
15 UseAntialiasing = true,
16 HorizontalResolution = 200,
17 VerticalResolution = 200,
18 BackgroundColor = System.Drawing.Color.AliceBlue
19};
20
21// Convert SVG to JPG
22Converter.ConvertSVG(document, options, savePath);
Der Konstruktor
ImageSaveOptions() initialisiert eine Instanz der ImageSaveOptions-Klasse, die an die Methode ConvertSVG() übergeben wird. Die Methode ConvertSVG() nimmt die Parameter document
, options
und den Pfad der Ausgabedatei savePath
entgegen und führt die Konvertierung durch.
Im obigen Beispiel verwenden wir:
- die Eigenschaft
BackgroundColor
legt die Farbe fest, mit der der Hintergrund gefüllt wird. Die Standardeinstellung für BackgroundColor ist Transparent; - eigenschaften
HorizontalResolution
undVerticalResolution
, die die horizontale/vertikale Auflösung für die Ausgabe von Bildern in Pixel pro Zoll festlegen. Standardmäßig sind diese Eigenschaften auf 300 dpi eingestellt; - eigenschaft
UseAntialiasing
, die die Rendering-Qualität für dieses Bild festlegt. In diesem Beispiel wirdUseAntialiasing = true
für die Qualität des Renderings verwendet.
Verwenden Sie UseAntialiasing = true
, wenn Sie die visuelle Qualität von gerenderten Formen, Text und Bildern in Ihrer Anwendung verbessern wollen, insbesondere wenn Klarheit und glatte Kanten wichtig sind. Durch die Aktivierung von Antialiasing werden gezackte Kanten geglättet, indem die Farben der Pixel um die Kanten herum gemischt werden, was zu einem weicheren, feineren Aussehen führt.
Während UseAntialiasing = true
eine bessere visuelle Qualität bietet, kann es auch die Verarbeitungszeit erhöhen. Für Anwendungen, bei denen die Rendering-Geschwindigkeit eine Priorität ist, kann es optimal sein, UseAntialiasing = false
zu setzen.
Die Abbildung zeigt das Fragment der Datei flower-options.jpg.
Output-Stream-Anbieter
Wenn es erforderlich ist, Dateien in einem entfernten Speicher (z. B. Cloud, Datenbank usw.) zu speichern, können Sie die Schnittstelle ICreateStreamProvider implementieren, um die manuelle Kontrolle über den Dateierstellungsprozess zu haben. Diese Schnittstelle ist als Callback-Objekt konzipiert, um einen Stream zu Beginn des Dokuments/der Seite (je nach Ausgabeformat) zu erstellen und den frühzeitig erstellten Stream nach dem Rendern des Dokuments/der Seite freizugeben.
Aspose.HTML for .NET bietet verschiedene Arten von Ausgabeformaten für Rendering-Operationen. Einige dieser Formate erzeugen eine einzige Ausgabedatei (z. B. PDF, XPS), andere erzeugen mehrere Dateien (Bildformate - JPG, PNG, usw.).
Das folgende Beispiel zeigt, wie Sie Ihren eigenen MemoryStreamProvider in der Anwendung implementieren und verwenden können:
1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
2
3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
4{
5 // List of MemoryStream objects created during the document rendering
6 public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
7
8 public Stream GetStream(string name, string extension)
9 {
10 // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11 MemoryStream result = new MemoryStream();
12 Streams.Add(result);
13 return result;
14 }
15
16 public Stream GetStream(string name, string extension, int page)
17 {
18 // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19 MemoryStream result = new MemoryStream();
20 Streams.Add(result);
21 return result;
22 }
23
24 public void ReleaseStream(Stream stream)
25 {
26 // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27 }
28
29 public void Dispose()
30 {
31 // Releasing resources
32 foreach (MemoryStream stream in Streams)
33 stream.Dispose();
34 }
35}
1// Convert SVG to JPG in C# using memory stream
2
3// Create an instance of MemoryStreamProvider
4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
5
6// Prepare SVG code
7string code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
8 "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />" +
9 "</svg>";
10
11// Convert SVG to JPG using the MemoryStreamProvider
12Converter.ConvertSVG(code, ".", new ImageSaveOptions(ImageFormat.Jpeg), streamProvider);
13
14// Get access to the memory stream that contains the result data
15MemoryStream memory = streamProvider.Streams.First();
16memory.Seek(0, SeekOrigin.Begin);
17
18// Flush the result data to the output file
19using (FileStream fs = File.Create(Path.Combine(OutputDir, "stream-provider.jpg")))
20{
21 memory.CopyTo(fs);
22}
Um mehr über ImageSaveOptions zu erfahren, lesen Sie bitte den Artikel Feinabstimmung von Konvertern.
Überprüfen Sie die Qualität der Konvertierung von SVG in JPG mit unserem Online- SVG zu JPG Konverter. Laden Sie Ihre Dateien hoch, konvertieren Sie sie und erhalten Sie die Ergebnisse in wenigen Sekunden. Testen Sie unseren SVG zu JPG Konverter jetzt kostenlos!
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.