Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.SVG bietet einen kostenlosen Online- Bild-Vektorisierer, der browserbasiert ist und auf jeder Plattform funktioniert. Mit dieser App können Sie verschiedene Optionen anwenden, um das perfekte Ergebnis zu erzielen. Sparen Sie Zeit und nutzen Sie diesen kostenlosen Bild-Vektorisierer, um alle Vorteile von Vektorgrafiken zu genießen!
Die Bildvektorisierung ist der Prozess der Konvertierung von Rasterbildern wie PNG, JPG, BMP, GIF oder TIFF in skalierbare SVG-Vektorgrafiken. Im Gegensatz zu Bitmap-Bildern behalten SVG-Dateien die Qualität bei jeder Auflösung bei und lassen sich einfacher bearbeiten, optimieren und für Web-, Druck-, CAD- und Grafikdesign-Workflows skalieren.
Mit Aspose.SVG for .NET können Sie Rasterbilder programmgesteuert in C# vektorisieren, ohne externe Grafiksoftware oder browserbasierte Tools zu benötigen. Die API bietet flexible Vektorisierungseinstellungen, mit denen Sie die Pfadglättung, Kurvenvereinfachung, Farbreduzierung und die Komplexität der SVG-Ausgabe steuern können.
Dieser Artikel zeigt Ihnen, wie Sie:
Hinweis: Der Namespace Aspose.Svg.ImageVectorization unterstützt gängige Bitmap-Formate (JPG, PNG, BMP, TIFF, GIF) und erzeugt immer eine SVG-Datei.
Die Aspose.SVG-Bildvektorisierungs-API bietet Klassen and Methoden, mit denen Sie vor dem Speichern im Vektorformat verschiedene Bildvorverarbeitungsoptionen anwenden können. Der Prozess ermöglicht die Steuerung der folgenden Optionen: TraceSimplifier, TraceSmoother, ColorsLimit und LineWidth.
Sehen wir uns an, wie die Eigenschaft TraceSimplifier die Bildvektorisierung beeinflusst. Zunächst sollten Sie wissen:
tolerance) nimmt die tolerance (Toleranz) als Parameter und initialisiert eine Instanz der Klasse.tolerance-Wert bestimmt die maximale Fehlertoleranz, die zulässig ist, damit ein Punkt aus der Spur entfernt wird. Er muss im Bereich von 0 bis 4 liegen. Der Standardwert ist 0,3.Der folgende Codeausschnitt zeigt die Verwendung verschiedener Werte für die Eigenschaft tolerance (TraceSimplifier):
1using System.IO;
2using Aspose.Svg.ImageVectorization;
3using Aspose.Svg.Saving; 1// Compare different SplinePathBuilder configurations for image vectorization with varying simplification levels
2
3// Initialize an instance of the ImageVectorizer class and specify configuration properties
4ImageVectorizer vectorizer1 = new ImageVectorizer
5{
6 Configuration =
7 {
8 PathBuilder = new SplinePathBuilder
9 {
10 TraceSimplifier = new ImageTraceSimplifier(0.1f),
11 TraceSmoother = new ImageTraceSmoother(2),
12 },
13 ColorsLimit = 2
14 }
15};
16
17ImageVectorizer vectorizer2 = new ImageVectorizer
18{
19 Configuration =
20 {
21 PathBuilder = new SplinePathBuilder
22 {
23 TraceSimplifier = new ImageTraceSimplifier(1),
24 TraceSmoother = new ImageTraceSmoother(2),
25 },
26 ColorsLimit = 2
27 }
28};
29
30ImageVectorizer vectorizer3 = new ImageVectorizer
31{
32 Configuration =
33 {
34 PathBuilder = new SplinePathBuilder
35 {
36 TraceSimplifier = new ImageTraceSimplifier(2),
37 TraceSmoother = new ImageTraceSmoother(2),
38 },
39 ColorsLimit = 2
40 }
41};
42
43// Prepare a path for a source image file
44string sourcePath = Path.Combine(DataDir, "formats.png");
45
46// Vectorize raster image from the specified file
47using SVGDocument document1 = vectorizer1.Vectorize(sourcePath);
48using SVGDocument document2 = vectorizer2.Vectorize(sourcePath);
49using SVGDocument document3 = vectorizer3.Vectorize(sourcePath);
50
51// Save the vectorized image as an SVG file
52document1.Save(Path.Combine(OutputDir, "formats1.svg"));
53document2.Save(Path.Combine(OutputDir, "formats2.svg"));
54document3.Save(Path.Combine(OutputDir, "formats3.svg"));
Manchmal sehen Konturfragmente wie Sägezahnwellen aus oder wirken gezackt. Sehen wir uns an, wie die Eigenschaft TraceSmoother die Glättung beeinflusst:
severity) nimmt die severity (Intensität) als Parameter.severity bestimmt das Ausmaß des Bereichs, der vom Abfragepunkt berücksichtigt wird. Er muss im Bereich von 0 bis 20 liegen.Sehen wir uns die Auswirkungen von TraceSmoother an:
1using System.IO;
2using Aspose.Svg.ImageVectorization;
3using Aspose.Svg.Saving; 1// Vectorize PNG to SVG using ImageVectorizer and custom parameters
2
3// Initialize an instance of the ImageVectorizer class
4ImageVectorizer vectorizer = new ImageVectorizer
5{
6 // Optionally set a configuration
7 Configuration =
8 {
9 // Optionally create an instance of the PathBuilder class
10 PathBuilder = new BezierPathBuilder {
11 // Optionally set trace smoother
12 TraceSmoother = new ImageTraceSmoother(0),
13 ErrorThreshold = 30,
14 MaxIterations = 30
15 },
16 ColorsLimit = 10,
17 LineWidth = 1
18 }
19};
20// Vectorize image from the specified file
21using SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "flower.png"));
22
23// Save vectorized Image as an SVG file
24document.Save(Path.Combine(OutputDir, "flower.svg"));
Ist es möglich, ein Foto so in ein Vektorformat zu konvertieren, dass es identisch mit dem Foto aussieht?
SVG ist nicht optimal für fotorealistische Bilder geeignet, da natürliche Farbübergänge schwer darzustellen sind. Vektorgrafiken eignen sich am besten für Logos, Icons und technische Zeichnungen. Dennoch kann die Vektorisierung von Fotos beeindruckende künstlerische Effekte erzielen.
In diesem Abschnitt versuchen wir, ein Foto so zu vektorisieren, dass das Ergebnis dem Foto möglichst nahe kommt:
1using System.IO;
2using Aspose.Svg.ImageVectorization;
3using Aspose.Svg.Saving; 1// Convert JPG to SVG in C#
2
3// Initialize an instance of the ImageVectorizer class
4ImageVectorizer vectorizer = new ImageVectorizer
5{
6 // Optionally set a configuration
7 Configuration =
8 {
9 // Optionally create an instance of the PathBuilder class
10 PathBuilder = new SplinePathBuilder
11 {
12 TraceSmoother = new ImageTraceSmoother(1),
13 TraceSimplifier = new ImageTraceSimplifier(0.3f)
14 },
15 ColorsLimit = 25,
16 LineWidth = 1
17 }
18};
19
20// Vectorize image from a specified file
21using (SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "horses.jpg")))
22{
23 // Save the vectorized image as SVG
24 document.Save(Path.Combine(OutputDir, "horses-new.svg"));
25}Die Abbildung zeigt das Quellfoto (a), das vektorisierte Bild mit dem Code (b) und das manuell verbesserte vektorisierte Bild (c).

Beim Vektorisierungsprozess wird die Farbbildquantisierung verwendet. Kleine gleichfarbige Bereiche werden durch geometrische Formen ersetzt, wodurch Lücken entstehen können. Dies führt zu weißen Flecken im vektorisierten Bild.
Tipp: Um dieses Problem zu beheben, können Sie die resultierende SVG-Datei manuell bearbeiten. Wir empfehlen, den Wert stroke-width="100" auf "150" oder einen anderen passenden Wert zu ändern.

Das Quellfoto (a) und die resultierende SVG-Datei (c) finden Sie unter: horses.jpg, horses.svg.
Aspose.SVG for .NET bietet mehrere Optionen, um die SVG-Qualität, Pfadglätte und Komplexität zu steuern.
| Option | Beschreibung | Empfohlene Verwendung |
|---|---|---|
ColorsLimit | Definiert die maximale Anzahl der Farben. Niedrige Werte vereinfachen das SVG, hohe bewahren Details. | Niedrige Werte für Logos; höhere für Illustrationen und Fotos. |
ImageSizeLimit | Definiert die maximale Bilddimension (Breite × Höhe). Große Bilder werden ggf. skaliert. | Erhöhen Sie diesen Wert für hochauflösende Quellbilder. |
PathBuilder | Bestimmt den Algorithmus zur Pfadgenerierung. Beeinflusst die Kurvenglätte. | Nutzen Sie SplinePathBuilder für glattere Pfade. |
TraceSimplifier | Reduziert die Anzahl der Pfadpunkte und vereinfacht die Geometrie. | Hilft, die Dateigröße zu reduzieren und Pfade zu optimieren. |
TraceSmoother | Glättet Konturen und reduziert gezackte Kanten. | Empfohlen für verrauschte oder minderwertige Rasterbilder. |
LineWidth | Definiert die Breite der generierten Vektorstriche. | Erhöhen Sie den Wert, wenn dünne Konturen verschwinden. |
Die kostenlose Evaluierungsversion von Aspose.SVG bietet fast alle Funktionen, jedoch mit folgenden Einschränkungen:
Um Aspose.SVG ohne Einschränkungen zu testen, fordern Sie eine 30-tägige temporäre Lizenz an.

Ergebnisdatei: horses-license.svg.
| Problem | Mögliche Ursache | Empfohlene Lösung |
|---|---|---|
| Das SVG enthält viele kleine Lücken | ColorsLimit ist zu niedrig. | Erhöhen Sie ColorsLimit (z. B. auf 30–40) oder erhöhen Sie die stroke-width. |
| Die erzeugte SVG-Datei ist zu groß | Die TraceSimplifier-Toleranz ist zu niedrig. | Erhöhen Sie die Toleranz (typisch 0.7–1.0), um die Pfadpunkte zu reduzieren. |
| Kanten wirken rau oder gezackt | TraceSmoother ist deaktiviert oder zu niedrig. | Nutzen Sie Glättungswerte zwischen 5 und 10. |
| Einige Farben fehlen im Ausgabe-SVG | Die Evaluierungsversion begrenzt die Anzahl der verarbeiteten dominanten Farben. | Wenden Sie eine temporäre oder vollständige Aspose.SVG-Lizenz an, um die Vollfarb-Vektorisierung zu aktivieren. |
| Das SVG enthält zu viele unnötige Pfade | Das Quellbild enthält Rauschen, Gradienten oder Kompressionsartefakte. | Verarbeiten Sie das Bild vor der Vektorisierung vor, indem Sie das Rauschen reduzieren, den Kontrast erhöhen oder einfachere Quellgrafiken verwenden. |
| Die Fotovektorisierung liefert ungenaue Ergebnisse | Die Raster-zu-Vektor-Trassierung eignet sich am besten für Logos, Icons und Illustrationen, nicht für detaillierte Fotos. | Reduzieren Sie die Anzahl der Farben, erhöhen Sie die Glättung oder verwenden Sie vereinfachte Grafiken anstelle von fotorealistischen Bildern. |
| Dünne Linien verschwinden | Zu starke Vereinfachung oder Farbreduzierung. | Senken Sie die Toleranz und erhöhen Sie ColorsLimit. |
1. Wie konvertiere ich PNG in C# in SVG?
Nutzen Sie die Klasse ImageVectorizer in Aspose.SVG for .NET. Die API bietet Einstellungen für Glättung, Vereinfachung und Farbreduzierung.
2. Was ist der Unterschied zwischen Raster- und Vektorbildern?
Rasterbilder bestehen aus Pixeln und verlieren beim Skalieren an Qualität. Vektorgrafiken basieren auf Pfaden und sind ohne Qualitätsverlust skalierbar.
3. Wie kann ich die SVG-Dateigröße nach der Vektorisierung reduzieren?
Erhöhen Sie die Vereinfachungstoleranz, reduzieren Sie die Anzahl der Farben und nutzen Sie Glättungseinstellungen.
4. Welche Bilder eignen sich am besten für die Vektorisierung?
Logos, Icons und Illustrationen mit klaren Kanten und wenigen Farben liefern die besten Ergebnisse.
5. Kann ich den Vektorisierungsprozess anpassen?
Ja. Aspose.SVG ermöglicht die Konfiguration von Farblimits, Pfadbauern, Glättung und Bildgrößen.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.