Bildvektorisierung – C#-Code und Online-Vektorisierer

Sind Sie bereit, zum Vektorzeichnen überzugehen?

Was ist Bildvektorisierung?

Die Bildvektorisierung ist der Prozess der Umwandlung von Bitmap-Bildern in Vektorgrafiken – Bezier-Kurven, Splines und Linien. Die Vektorisierung ist hilfreich, da das Bild beim Vergrößern nicht verpixelt. Skalierung ohne Qualitätsverlust, geringe Dateigröße und Animationsunterstützung – das sind nur einige Vorteile von vektorisierten Bildern. Egal, ob Sie sich für Malerei, Design, Kunst, Druck, Architektur oder Webentwicklung interessieren, Vektorgrafiken sind ein wesentlicher Bestandteil des Berufs. Auf der anderen Seite können Sie einfach mit Bildern experimentieren und lustige Vektorisierungseffekte erzielen. In diesem Artikel sehen wir uns an, wie Sie Bilder in C# in Vektorgrafiken konvertieren oder einen Online-Bildvektorisierer verwenden.


Online-Bildvektorisierer

Sind Sie bereit, vom Malen mit Pixeln zum Zeichnen mit Vektoren überzugehen? Image Vectorizer wurde entwickelt, um Rasterbilder in Vektorgrafiken umzuwandeln, die auf geometrischen Formen basieren, die aus Bezier-Kurven und -Linien bestehen. Alle Vektorgrafikelemente werden nach der Vektorisierung in SVG-Dateien gespeichert. Image Vectorizer unterstützt JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, WEBP, XBM und andere Bitmap-Formate. Sie können die vektorisierte SVG-Datei interaktiv verwalten, indem Sie Steuerelemente verwenden, die mit den richtigen Vektorisierungsoptionen verknüpft sind. Wandeln Sie Ihre Bilder jetzt in skalierbare und klare Vektorgrafiken um!


Wie verwende ich den Bildvektorisierer?

  1. Laden Sie zunächst das Rasterbild aus einem lokalen Dateisystem im JPEG-, JPG-, PJP-, PJPEG-, WEBP-, PNG-, BMP-, ICO-, GIF-, TIFF-, XBM- oder anderen Bitmap-Format. Sie sehen drei Fenster – Source Image, Quantized Image und Vectorized Image – mit der Vorschau der ursprünglichen, farbquantisierten und vektorisierten Bilder.
  2. Image Vectorizer konvertiert Image in Vektor mit Standardeinstellungen und Sie können vektorisiertes Image als SVG-Datei herunterladen. Aber um ein besseres Ergebnis zu erzielen, können Sie die Quantisierungs- und Vektorisierungsprozesse mit zwei Einstellungsseitenleisten handhaben. Klicken Sie auf die Schaltfläche „Quantize“, um die Quantisierungseinstellungen anzuwenden, klicken Sie auf die Schaltfläche „Vectorize“, um die Vektorisierungseinstellungen anzuwenden und Image in SVG umzuwandeln.
  3. Klicken Sie auf die Schaltfläche „Download“, um das Ergebnis zu erhalten.

Image Vectorizer wandelt Raster-Bitmap-Bilder in Vektorgrafiken um, die aus Umrissen aufgebaut sind. Der Vektorisierungsalgorithmus umfasst die nächsten Schritte: Farbquantisierung, Konturverfolgung, Spurglättung, Spurvereinfachung und Erstellen von SVG-Pfadelementen aus den Spuren. Wende benutzerdefinierte Einstellungen an, um das beste Image-Vektorisierungsergebnis zu erhalten.

Seitenleiste Quantization Options

Die Farbquantisierung ist ein Prozess zur Auswahl einer begrenzten Anzahl von Farben, die in einem Bild verwendet werden sollen. Es wird angewendet, wenn die Farbinformationen eines Bildes reduziert werden sollen. Die Farbquantisierung ist ein sehr komplexer Prozess, an dem eine Reihe von Faktoren beteiligt sind. Dies kann unter Verwendung verschiedener Algorithmen implementiert werden. Jeder der Algorithmen bestimmt, welche Farben aus dem größeren Farbsatz im neuen Bild verbleiben und wie die verworfenen Farben den verbleibenden zugeordnet werden.

  • colors - gewünschte Palettengröße;
  • method - Histogrammmethoden, die verschiedene Farbquantisierungsalgorithmen implementieren;
  • minHueCols - ist ein Parameter, der mit Farbverläufen arbeitet;
  • scale - oder Skalierungsfaktor wird für eine feinere oder gröbere Abtastung der Farben in der Ebene eingestellt;
  • grayscale - sie können das Bild in Graustufen umwandeln, indem Sie auf das Kontrollkästchen klicken.

Seitenleiste Vectorization Options

  • threshold - ist verantwortlich für die Einstellung der Pixelanzahl zur Markierung der Kontur;
  • severity - wirkt sich auf die Glättung von Konturen aus und bestimmt die Ausdehnung der Region, die vom Abfragepunkt des Nearest-Neighbor-Ansatzes betrachtet wird;
  • line-width - beeinflusst die Breite der Linien zum Markieren der Konturen;
  • stencil - verwandelt ein gewöhnliches Bild oder Foto in ein Umrissbild, das als Schablone für Graffiti-ähnliche Effekte verwendet werden kann.
  • trace paths - sie können die Punkte in einer Kurve anzeigen, die für das Erstellen von Pfadsegmenten verantwortlich sind.

Vektorgrafiken eignen sich am besten zum Erstellen von Logos, Symbolen, Seitenlayouts, Karten, Grafiken, Strichzeichnungen, Illustrationen, technischen Zeichnungen und mehr. Es ist nicht das am besten geeignete Format für Halbtonbilder mit Farbübergängen oder die Bearbeitung von Fotos. Das Vektorisieren von Fotos kann jedoch zu beeindruckenden künstlerischen Effekten führen, die interessant und nützlich sein können.

So vektorisieren Sie Bilder in C#

Aspose.SVG for .NET API bietet eine Hochgeschwindigkeits-C#-Bibliothek, die Sie für verschiedene SVG-Parsing-Aufgaben verwenden können . Der Namespace ImageVectorization enthält Klassen und Schnittstellen zur Implementierung des Bildvektorisierungsprozesses und arbeitet mit verschiedenen Vorverarbeitungsoptionen für Bilder, bevor sie gespeichert werden im Vektorformat. Die Verarbeitung umfasst die Steuerung der folgenden Vektorisierungsoptionen: TraceSimplifier, TraceSmoother, PathBuilder usw.


Bildvektorisierung in C#

	// Initialize an instance of the ImageVectorizer class
    var vectorizer = new ImageVectorizer
    {
        Configuration = 
		{
			// Set severity
			TraceSmoother =   new ImageTraceSmoother(3),
			// Set tolerance
			TraceSimplifier = new ImageTraceSimplifier(0.3f),
			// Set tension
        	PathBuilder = new PathBuilder(0.5f),
		}
    };
    // Vectorize image from the specified file
	using var document = vectorizer.Vectorize(InputFolder + "image.png");
    // Save vectorized Image as SVG file 
	document.Save(OutputFolder + "image.svg");

Schritte zum Vektorisieren von Bildern in C#

  1. Initialisieren Sie eine Instanz der Klasse ImageVectorizer. Verwenden Sie einen der ImageVectorizer()-Konstruktoren und geben Sie Konfigurationseigenschaften an.
    • Die Eigenschaft TraceSmoother stellt die Spur weicher ein. Es wird verwendet, um Fragmente von Konturen zu glätten.
    • Die Eigenschaft TraceSimplifier legt die Ablaufverfolgung vereinfacht fest. Als Ergebnis wird die Spurkurve aus Liniensegmenten mit weniger (oder größeren) Punkten aufgebaut.
    • Die Eigenschaft PathBuilder legt den Builder für SVG-Pfadsegmente fest und beeinflusst, wie stark sich die Kurve an den Kontrollpunkten krümmt.
  2. Bild aus der angegebenen Datei vektorisieren. Die Methode Vectorize() nimmt den Pfad zur Bilddatei und gibt ein SVGDocument zurück.
  3. Speichern Sie das vektorisierte Bild als SVG-Datei. Verwenden Sie die Methode Save() und übergeben Sie ihr den Ausgabepfad.

Bildvektorisierung in der Dokumentation

Skalierbare Vektorgrafiken werden derzeit häufig zum Rendern von Webgrafiken verwendet. Im Vergleich zu Bitmaps können Vektorgrafiken scharfe Bilder erstellen, die auf jede beliebige Größe skaliert werden können, sie sind ideal zum Zeichnen jeder Art von Webillustration, einschließlich Symbolen, Diagrammen, Diagrammen und mehr. Im Dokumentationskapitel Vectorization - Basic Overview, finden Sie eine Beschreibung der Prozess der Bildvektorisierung.

  • Workflow zur Bildvektorisierung - Hier finden Sie Informationen zur Bildvektorisierung, eine Beschreibung des Bildvektorisierungsprozesses und der Vektorisierungsoptionen, erfahren Sie, wie Sie Rasterbilder wie PNG, JPG, BMP, TIFF, GIF, ICO in ein SVG-Dokument vektorisieren.
  • Bildvektorisierungsbeispiele - Sie werden einige C#-Beispiele betrachten die die ImageVectorization-Funktionalitäten und die Auswirkung von Konfigurationseigenschaften auf das Vektorisierungsergebnis demonstrieren.

FAQ

1. Wie kann ich Image vektorisieren?

Mit Aspose.SVG können Sie Image auf beliebige Weise in SVG konvertieren – online oder programmgesteuert. Beispielsweise können Sie Image in Echtzeit mit Online Image Vectorizer vektorisieren, der Ihre Bilder schnell und mit hoher Qualität konvertiert. Andererseits können Sie Aspose.SVG für die .NET-API verwenden, um Image programmgesteuert zu vektorisieren.

2. Was ist eine Raster-zu-Vektor-Konvertierung?

Der Prozess der Bildkonvertierung von Raster zu Vektor wird als Bildvektorisierung bezeichnet. Es ist ein komplexer Rechenprozess, der ein aus Pixeln bestehendes Bitmap-Bild in ein Vektorbild umwandelt, das aus Linien, Kurven und anderen geometrischen Formen besteht.

Erste Schritte mit der .NET SVG-API

Installieren Sie von der Befehlszeile als nuget install Aspose.SVG oder über die Package Manager Console von Visual Studio mit Install-Package Aspose.SVG. Alternativ können Sie das Offline-MSI-Installationsprogramm oder DLLs in einer ZIP-Datei von downloads. herunterladen. Aspose.SVG für die .NET-API ist eine eigenständige Bibliothek und nicht davon abhängig jede Software für die Verarbeitung von SVG-Dokumenten. Weitere Einzelheiten zur Installation der C#-Bibliothek und zu den Systemanforderungen finden Sie in der Aspose.SVG-Dokumentation.

Andere unterstützte Vektorisierer

Sparen Sie Zeit und testen Sie diese Bildvektorisierer, um alle Vorteile von Vektorgrafiken zu nutzen!

Text to Vector (SVG Text)
Stencil Drawing (Stencil images)
JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
GIF TO SVG (Graphical Interchange Format)
TIF to SVG (Tagged Image File Format)
ICO to SVG (Windows Icon)