Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Um ein Bild in SVG in C# zu konvertieren, erstellen Sie ein ImageVectorizerConfiguration-Objekt und rufen Converter.ConvertImageToSVG() auf. Aspose.SVG for .NET unterstützt Rastereingaben wie PNG, JPG, BMP, TIFF, GIF und ICO und speichert das nachgezeichnete Vektorergebnis als SVG-Datei.
Vektorisierung ist der Prozess, bei dem Rasterbilder in Vektorgrafiken umgewandelt werden. Statt Pixeln werden Bezierkurven, Splines und Linien verwendet. Der Prozess umfasst Farbquantisierung, Kantenerkennung, Annäherung von Formen und Qualitätsverbesserungen von Pfaden, etwa Glättung oder Vereinfachung. Das Ergebnis wird als Vektorformat wie SVG gespeichert.
Aspose.SVG for .NET bietet zwei Workflows zur Bildvektorisierung: den
Converter.ConvertImageToSVG()-Facade für direkte Bild-zu-Datei-Konvertierung und die
ImageVectorization API, wenn Ihr Code mit dem erzeugten SVGDocument arbeiten muss.
Dieser Artikel behandelt die direkte Konvertierung von Bildern in SVG mit Converter.ConvertImageToSVG(). Den vollständigen Algorithmus-Workflow und Beispiele für ImageVectorizer.Vectorize() finden Sie unter
Bild- und Textvektorisierung und
Workflow der Bildvektorisierung.
Bildvektorisierung funktioniert am besten, wenn die Quelle klare Formen, wenige Farben und erkennbare Grenzen enthält. Für vollfarbige Fotos ist sie meist weniger geeignet, weil die Bewahrung vieler Details ein sehr komplexes SVG erzeugen kann.
| Typ des Quellbilds | Empfehlung |
|---|---|
| Logos, Icons, Symbole, Clipart | Gute Kandidaten für die Konvertierung von Bild in SVG. Diese Bilder enthalten meist klare Formen und begrenzte Farben. |
| Diagramme, Karten, Line Art, technische Zeichnungen | Gut geeignet, wenn Linien und Flächen klar genug nachgezeichnet werden können. |
| Gescannte Zeichnungen | Nützlich nach Vorverarbeitung, etwa Rauschreduktion und Kontrastverbesserung. |
| Fotografien | Meist nicht ideal für kompaktes SVG. Die Vektorisierung kann viele Pfade und große Ausgabedateien erzeugen. |
| Niedrig aufgelöste oder verrauschte Bilder | Verbessern Sie zuerst das Quellbild oder passen Sie Glättung und Vereinfachung an. |
Verwenden Sie Converter.ConvertImageToSVG(), wenn Sie eine Bilddatei oder einen Bildstream direkt in eine SVG-Datei konvertieren möchten. Verwenden Sie ImageVectorizer.Vectorize(), wenn Ihr Code das vektorisierte Ergebnis vor dem Speichern, Bearbeiten oder Prüfen als SVGDocument benötigt. Dieser Artikel konzentriert sich auf den direkten Konvertierungsworkflow.
Das folgende Beispiel zeigt, wie ein Rasterbild im PNG-Format mit ConvertImageToSVG() in SVG konvertiert wird:
configuration, imageFile, outputFile) vektorisiert das Eingabebild, wandelt es in skalierbares SVG um und speichert es im angegebenen Ausgabepfad.Fügen Sie die folgenden Namespaces hinzu:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Converters;
4using Aspose.Svg.ImageVectorization;C# code for image to SVG conversion:
1// Convert a raster image to SVG in C# using ConvertImageToSVG()
2
3// Prepare paths for a source image file and output SVG file
4string imageFile = Path.Combine(DataDir, "flower-pink.png");
5string outputFile = Path.Combine(OutputDir, "flower-pink.svg");
6
7// Create a configuration object
8ImageVectorizerConfiguration configuration = new ImageVectorizerConfiguration
9{
10 PathBuilder =
11 new BezierPathBuilder
12 {
13 TraceSmoother = new ImageTraceSmoother(3),
14 ErrorThreshold = 5,
15 MaxIterations = 5
16 },
17 ColorsLimit = 15,
18 LineWidth = 2
19};
20
21// Convert Image to SVG
22Converter.ConvertImageToSVG(configuration, imageFile, outputFile);Die Abbildung zeigt das Ergebnis der Bildvektorisierung: a) ursprüngliches PNG-Bild; b) erzeugtes SVG:

Verwenden Sie ImageVectorizerConfiguration und Path-Builder-Einstellungen, um Detailgrad, Pfadglätte, Dateigröße und Verarbeitungszeit auszubalancieren.
| Ziel | Option prüfen | Ergebnis |
|---|---|---|
| SVG-Dateigröße reduzieren | ColorsLimit, Vereinfachung der Nachzeichnung | Weniger Farben und weniger Pfadpunkte. |
| Stärke der nachgezeichneten Linien steuern | LineWidth | Dickere oder dünnere erzeugte Vektorstriche. |
| Gezackte Kanten glätten | TraceSmoother in
BezierPathBuilder | Sauberere Kurven bei verrauschten oder niedrig aufgelösten Bildern. |
| Mehr Details erhalten | ErrorThreshold, MaxIterations | Genauere Pfade, aber möglicherweise größere SVG-Ausgabe. |
| Stencil-ähnliches Ergebnis erzeugen | Stencil-Konfiguration | Vereinfachte, kontrastreiche Vektorausgabe. |
Aspose.SVG for .NET unterstützt dateibasierte und streambasierte Workflows. Das ist praktisch für Desktop-, Web- und Service-Anwendungen. Das folgende Beispiel zeigt, wie
ConvertImageToSVG(configuration, inputStream, outputFile) für die Konvertierung von JPG in SVG verwendet wird:
1// Convert a raster JPG stream to vector SVG in C#
2
3// Prepare input and output
4string imagePath = Path.Combine(DataDir, "tulip.jpg");
5string outputFile = Path.Combine(OutputDir, "tulip.svg");
6
7// Open the image as a FileStream
8using (FileStream inputStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read))
9{
10 // Create vectorization configuration
11 ImageVectorizerConfiguration configuration = new ImageVectorizerConfiguration
12 {
13 PathBuilder = new BezierPathBuilder
14 {
15 TraceSmoother = new ImageTraceSmoother(1),
16 ErrorThreshold = 10,
17 MaxIterations = 1
18 },
19 ColorsLimit = 30,
20 LineWidth = 1
21 };
22
23 // Perform conversion from image stream to SVG
24 Converter.ConvertImageToSVG(configuration, inputStream, outputFile);
25}
26
27Console.WriteLine("Image converted to SVG successfully.");Die Abbildung zeigt das Ergebnis der Bildvektorisierung: a) ursprüngliches JPG-Bild; b) erzeugtes SVG:

| Problem | Häufige Ursache | Lösung |
|---|---|---|
| Ausgabe-SVG ist sehr groß | Das Quellbild enthält zu viele Farben, Rauschen oder fotografische Details | Verwenden Sie einfachere Ausgangsgrafik, reduzieren Sie ColorsLimit, verkleinern Sie das Bild oder nutzen Sie Pfadvereinfachung. |
| Vektorkanten wirken grob | Das Quellbild ist niedrig aufgelöst oder verrauscht | Bereinigen Sie das Bild vor der Konvertierung und erhöhen Sie die Glättung mit TraceSmoother. |
| Farben sind zu stark vereinfacht | Farbquantisierung ist zu aggressiv | Erhöhen Sie ColorsLimit oder verwenden Sie ein saubereres Quellbild mit klareren Farbbereichen. |
| Text im Bild wird nicht zu editierbarem SVG-Text | Bildvektorisierung zeichnet Pixel als Formen nach | Verwenden Sie echten SVG-Text, wenn editierbarer Text erforderlich ist. Siehe SVG Text und Textvektorisierung. |
Kann ich PNG in SVG in C# konvertieren?
Ja. Verwenden Sie Converter.ConvertImageToSVG() für die direkte Konvertierung von PNG in SVG. Einen PNG-spezifischen Workflow mit ImageVectorizer finden Sie unter
PNG in SVG in C# konvertieren.
Kann ich einen hochgeladenen Bildstream in SVG konvertieren?
Ja. Verwenden Sie die Stream-Überladung ConvertImageToSVG(configuration, inputStream, outputFile), wenn das Eingabebild aus Upload, Speicherpuffer oder Cloud-Speicher stammt.
Sollte ich Fotos in SVG vektorisieren?
Meist nur dann, wenn Sie bewusst einen stilisierten Vektoreffekt möchten. Fotos erzeugen häufig große SVG-Dateien mit vielen Pfaden, daher sind Rasterformate für fotografische Inhalte oft besser geeignet.
Erzeugt die Konvertierung von Bild in SVG editierbaren Text?
Nein. Rasterbild-Vektorisierung zeichnet sichtbare Pixel als Vektorformen nach. Text im Quellbild wird nicht zu editierbarem SVG-<text>-Inhalt.
Wie verkleinere ich das erzeugte SVG?
Verwenden Sie ein saubereres Quellbild, reduzieren Sie die Anzahl der Farben mit ColorsLimit, verkleinern Sie sehr große Eingaben und nutzen Sie Vereinfachungsoptionen, um die Pfadkomplexität zu senken.
ImageVectorizer verwendet wird.Aspose.SVG bietet einen kostenlosen Online Image to SVG Converter, der plattformunabhängig arbeitet und präzise, effiziente Konvertierung ermöglicht. Mit der Anwendung können Sie Optionen anpassen, um ein optimales Ergebnis zu erzielen. Probieren Sie den kostenlosen Image to SVG Converter aus und nutzen Sie die Vorteile von Vektorgrafiken.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.