Wir haben versucht, die Ausgabeoptionen so selbsterklärend wie möglich zu gestalten, aber sind die die Details in aller Ausführlichkeit:
Die Vektorbilder, die wir erzeugen, bestehen aus Formen, die wiederum aus nicht sich selbst schneidenden Schleifen bestehen. Schleifen sind Kurvensequenzen, bei denen jede Kurve dort beginnt, wo die letzte Kurve endet, und wo letzte Kurve endet, wo die erste beginnt. Wir erzeugen Linien, Kreis- und elliptische Bögen sowie quadratische und kubische Bézierkurven.
Formen haben immer eine „positive“ Schleife, die den Bereich definiert, der mit der Farbe der Form gefüllt werden sollte. In manchen Fällen haben Formen eventuell auch „negative“ Schleifen, die Ausschnitte darstellen, die nicht mit der Farbe der Form gefüllt werden sollten. Negative Schleifen müssen von der positiven Schleife vollständig umschlossen sein, und die Schleifen dürfen einander nicht berühren.
Bei Eingabebildern, die Linienzeichnungen oder andere gestrichelte geometrische Formen enthalten, z. B. CAD-Zeichnungen, Tabellen, technische Diagramme und Ähnliches, erwartet man in der Regel, dass als Ausgabe eine gestrichelte geometrische Form entsteht. Diese Art von Vektorisierung wird als Nachzeichnen der Mittellinie bezeichnet. Das Nachzeichnen der Mittellinie wird von uns zurzeit nicht unterstützt. Somit werden alle gestrichelten geometrischen Formen als schmale, gefüllte Formen dargestellt.
Es ist zu beachten, das der Abschnitt „Strichart“ für die Gestaltung der Striche der Pfade vorgesehen ist, die die gefüllten Formen bilden. Dieses Thema hat mit dem Nachzeichnen der Mittellinie nichts zu tun.
Wenn zwei Formen in einem Vektorbild so aneinander liegen, dass ihre Grenzen genau zusammenfallen, zeichnen viele Vektor-Rendering-Engines sie trotzdem so, dass eine schmale weiße Linie durch sie hindurch scheint. Dabei handelt es sich um einen Fehler in diesen Rendering-Engines, der jedoch so häufig auftritt, dass er in naher Zukunft wahrscheinlich nicht behoben wird.
Um dieses Problem zu umgehen, haben wir den sogenannten Lückenfüller entwickelt. Dabei wird unterhalb der Grenze zwischen den beiden Formen eine schmale Linie in einer Farbe gezeichnet, die aus dem Mittelwert der zwei Farben der Formen besteht. Dadurch wird verhindert, dass der Hintergrund hindurch scheint, und das Problem somit effektiv gelöst.
Striche, die unabhängig vom Zoomfaktor mit einer konstanten Breite gezeichnet werden, werden als nicht skalierende Striche bezeichnet. Diese Funktion wird in SVG und unserem PNG-Vektorrasterisierer vollständig und in EPS, PDF und DXF teilweise unterstützt.
SVG unterstützt beliebige nicht skalierende Strichbreiten und wird von zahlreichen SVG-Viewern und Editor-Lösungen unterstützt. Die Ausnahme bildet Adobe Illustrator, da in dieser Lösung der nicht skalierende Stil ignoriert wird und der Strich mit dem Zoomfaktor skaliert wird. Unser PNG-Vektorrasterisierer bietet außerdem vollständige Unterstützung für nicht skalierende Striche.
Sowohl EPS als auch PDF unterstützen nur nicht skalierende Striche mit einer unspezifizierten Mindestanzeigebreite, was im Allgemeinen eine Breite von einem Pixel oder schmaler bedeutet. Adobe rät offiziell von deren Verwendung ab, und Tests mit Illustrator 2023 haben gravierende Fehler bei der Handhabung dieser Gestaltungsart ergeben.
DXF unterstützt auch nicht skalierende Striche mit einer minimalen Anzeigebreite; dies ist in DXF-Dateien eine sehr verbreitete Strichart.
Im Allgemeinen empfehlen wir die Verwendung nicht skalierender Striche nur für SVG, DXF und PNG.
Vektorbilder bestehen aus Formen, die in einer bestimmten Reihenfolge gezeichnet werden, in der Regel in der Reihenfolge, in der sie in der Datei erscheinen, die das Vektorbild definiert.
In manchen Formen kann die Zeichnungsreihenfolge geändert werden, ohne dass sich das Aussehen des Vektorbildes verändert. Stellen Sie sich beispielsweise zwei separate Punkte in einem Rechteck vor. Das Rechteck muss vor den Punkten gezeichnet werden, aber ein Punkt kann jeweils vor dem anderen Punkt gezeichnet werden, ohne dass sich das Aussehen des Vektorbildes verändert.
Eine Gruppe von Formen, deren interne Neuanordnung das Aussehen des Bildes nicht verändert, kann in derselben Ebene vorhanden sein. Die Ebenen müssen in einer bestimmten Reihenfolge gezeichnet werden, aber die Formen in einer Ebene können neu angeordnet oder in Gruppen zusammengefasst werden, ohne dass sich das Aussehen des Bildes verändert.
Wir unterstützen verschiedene Exportdateiformate, aber nicht alle Formate unterstützen alle Funktionen.
SVG 1.1 ist die bei Weitem gängigste Version von SVG, aber für die Zwecke unserer Ausgabedateien unterscheidet sie sich nur in der Kopfzeile von SVG 1.0.
Keine der Versionen unterstützt offiziell nicht skalierende Striche, die in SVG Tiny 1.2 eingeführt wurden und Teil der bisher noch nicht veröffentlichten SVG 2.0-Spezifikation sind. In der Praxis werden nicht skalierende Striche in den meisten gängigen Viewern und Editors unterstützt; deshalb erlauben wir sie in allen unseren SVG-Ausgaben.
Encapsulated Postscript (EPS) ist ein veraltetes Format, das von Adobe entwickelt wurde und hauptsächlich für das Drucken verwendet wird. Gruppierung und Transparenz werden nicht unterstützt, und nicht skalierende Striche werden nur begrenzt unterstützt.
Derzeit exportieren wir die EPS-Version 3, die am gängigste Version.
Das Portable Document Format (PDF) von Adobe wird hauptsächlich als Austauschformat für Dokumente verwendet, enthält aber auch relative umfangreiche Vektorgrafikfunktionen. PDF unterstützt keine Gruppierung und bietet nur eingeschränkte Unterstützung für nicht skalierende Striche.
Wir können Dokumente der PDF-Version 1.4 exportieren, der frühesten Version mit Transparenzunterstützung.
Das Drawing Exchange Format (DXF) von AutoCAD ist ein vielfach verwendetes CAD-Austauschdateiformat. Die DXF-Spezifikation unterstützt zwar Ebenen (Gruppen) und alle verfügbaren Kurventypen, jedoch gibt es beim Support durch DXF-Reader erhebliche Unterschiede.
Wir führen Exporte der DXF-Version AC1021 (2007) durch.
Portable Network Graphics (PNG) ist ein Rasterbildformat, das Transparenz unterstützt. PNG ist ein Bitmap-Format, kein Vektorformat. Wir unterstützen allerdings den Export in dieses Format, da es für die von uns erzeugten Bilder so häufig verwendet wird.
Momentan unterstützen wir keine beliebigen Skalierfaktoren. Die von uns erzeugte PNG-Ausgabe ist genau 4-mal so breit und hoch wie das Ausgabebild, wobei das Bild höchstens 4 Megapixel umfassen darf. Diese Einschränkungen werden in Zukunft keine Gültigkeit haben.
Das Vektorisierungsverfahren erzeugt eine Reihe von Pfaden, die die im Bild vorhandenen Formen definieren. Es bietet sich an, diese Formen so mit den jeweiligen Farben zu füllen, dass das resultierende Bild der Bitmap-Eingabe stark ähnelt, jedoch schärfere Grenzen hat und ohne Bildverschlechterung skaliert werden kann.
Aber in manchen Anwendungen sind die Pfade selbst wichtiger. Infolgedessen macht es möglicherweise mehr Sinn, die Formen bzw. die Grenzen zwischen den Formen mit Strichen darzustellen.
Zeichnet die Kurven der Form genau so nach, als würden Sie sie füllen, jedoch mit einem von der Nachzeichnungsart definierten Zeichenstil und nicht mit dem impliziten Füllstil.
Wenn sich zwei Formen berühren, wird die Kante zwischen ihnen zweimal durch Striche nachgezeichnet, und zwar einmal pro Form.
Ausschnitte erzeugen immer zwei Striche pro Kante. Gestapelte Formen erzeugten einen Strich zwischen einer Form und den vollständig darin enthaltenen Formen und zwei Striche zwischen benachbarten Formen, wenn keine der Formen eine andere enthält.
Zeichnet alle Kanten zwischen Formen einmal nach.
Im Gegensatz zu „Formen nachzeichnen“, wobei jede Kante in der Regel zweimal nachgezeichnet wird (einmal pro angrenzende Form), wird bei dieser Zeichenart jede Kante zwischen Formen nur einmal nachgezeichnet.
Diese Option ist für Lasergravuren, Vinylschneiden und Ähnliches nützlich.
Die Formen eines Vektorbildes kann man sich entweder als übereinander gestapelt oder als voneinander ausgeschnitten vorstellen. Wir sind in der Lage, beide Arten von Bildern zu erzeugen.
Platziert Formen in Ausschnitte in darunter liegende Formen. Das bedeutet, dass alle Formen eine einzige Ebene bilden, wobei keine Form auf einer anderen aufgelegt ist.
Dadurch wird die Lückenfüllfunktion vereinfacht, da alle Lückfüllstriche in einer einzigen Ebene unter alle Formen platziert werden können. Es sind jedoch mehr Lückenfüllstriche erforderlich, da sie verwendet werden müssen, wenn Formen nebeneinander liegen und einander berühren und nicht übereinander platziert sind.
Außerdem ist die Datei größer, da die Kurven, mit denen die Ausschnitte vorgegeben werden, einbezogen werden müssen.
Je nach Bild und Ihren Präferenzen kann es auch eventuell leichter oder schwerer sein, das Ergebnis in einem Vektor-Editor zu bearbeiten. Insbesondere erleichtern Ausschnitte die Trennung von Komponenten des Bildes voneinander, da die visuelle Form einer Komponente nicht von einer anderen Komponente abhängt, die auf ihr gestapelt ist. Wenn umgekehrt alle Teile des Bildes zusammenbleiben sollen, erschweren Ausschnitte die Bearbeitung der präzisen Form einer Komponente, da zur Bearbeitung einer Form entsprechende Bearbeitungen des Ausschnitts erforderlich sind, in dem sie platziert ist.
Platziert Formen übereinander. Stellen Sie sich eine mehrlagige Torte vor, wobei die kleineren Lagen auf den größeren gestapelt sind.
Mit dieser Option werden die Dateigröße und die Anzahl der Lückenfüllstriche in der Regel minimiert. Allerdings verkompliziert sich dadurch die Lückfüllfunktion, da die Lückenfüllstriche zwischen den Formen, für die sie benötigt werden, und der Form, in der sie enthalten sind, überlappend angeordnet werden müssen. Als zusätzlicher Nebeneffekt ragen manchmal kleine Teile der Lückenfüllstriche über die Formen, für die sie bestimmt sind, hinaus. Wir lösen dieses Problem durch die Verwendung von nicht skalierenden Strichen oder durch Beschneiden der Lückenfüllstriche. Wir empfehlen, nach Möglichkeit nicht skalierende Striche zu verwenden.
Gestapelte Formen erleichtern außerdem die Bearbeitung der Grenze zwischen einer Form und der darunter liegenden Form, da diese Grenze im Ausschnitt nicht dupliziert wird. Allerdings kann das Trennen einer Komponente des Bildes erschwert werden, da das visuelle Aussehen jeder Form von den Formen abhängt, die auf ihr gestapelt sind.
Vektordateiformate wie SVG unterstützen die Erfassung von Formen in mehrere Gruppen. Diese Gruppen sind hauptsächlich für organisatorische Zwecke nützlich und erleichtern die Bearbeitung, da Änderungen an allen Formen in einer Gruppe gleichzeitig vorgenommen werden können.
SVG bietet eine vollständige Unterstützung von Gruppen. Weder EPS noch PDF unterstützt Gruppen. DXF unterstützt Ebenen, die Gruppen ähneln.
In diesem Abschnitt wird die Gruppierung von Formen gesteuert.
Gruppiert Formen nach Füllfarben.
Wenn der Formstapelmodus „Ausschnitte“ ist, bilden alle Formen einer gegebenen Farbe eine einzelne Gruppe.
Wenn der Formstapelmodus „Gestapelt“ ist, können in der Regel alle Formen einer Farbe nicht gruppiert werden, da alle Teile einer Gruppe dieselbe Position in der Zeichenreihenfolge des Vektorbildes einnehmen müssen. Aus diesem Grund gruppieren wir in gestapelten Bildern nur diejenigen Formen einer vorgegebenen Farbe, die gemeinsam in derselben Ebene liegen.
Gruppiert alle Formen, die dasselbe übergeordnete Element haben.
Wenn eine Form vollständig in einer anderen Form enthalten ist, gilt die äußere Form als der inneren Form übergeordnet. Bei allen Formen, die nicht vollständig in einer anderen Form enthalten sind, gilt das Vektorbild selbst als übergeordnet, und alle Formen werden zusammen gruppiert.
Gruppiert die Formen entsprechend ihrer Zeichenreihenfolgenebene.
Zeichenreihenfolgenebenen sind Gruppen von Formen, deren interne Zeichenreihenfolge beliebig neu angeordnet werden kann, ohne das Aussehen des Bildes zu verändern.
Wir unterstützen das Identifizieren von bestimmten parametrisierten Formen, beispielsweise Kreise, Ellipsen, Rechtecke, gleichschenklige Dreiecke und Sterne – und das alles mit beliebigen Drehwinkeln und Eckenradien. Durch das Anpassen dieser gängigen Formen entstehen Formen mit vollkommener Geometrie und gleichmäßiger Bearbeitung der Ecken. Manche Exportformate bieten eine native Unterstützung für einige dieser Formen. Wir nutzen diesen Aspekt, um das Bearbeiten der Ergebnisdateien zu erleichtern.
Wir bieten eine fein granulierte Kontrolle darüber an, welche Art von Kurven exportiert werden können. Jedes Dateiformat sowie einige andere Optionen weisen eigene Einschränkungen bezüglich der zulässigen Kurventypen auf, und es kommen stets die restriktivsten Optionen zum Einsatz.
Quadratische Bézierkurven werden von SVG, DXF und unserem PNG-Vektor-Rasterizer unterstützt und durch zwei Endpunkte und einen einzelnen Kontrollpunkt definiert. Die tangentiale Richtung der Kurve an einem Endpunkt verläuft stets parallel zu der Linie, die diesen Endpunkt mit dem Kontrollpunkt verbindet.
Wenn quadratische Bézierkurven deaktiviert sind, greifen wir auf kubische Bézierkurven, elliptische Bögen und Linien zurück, und zwar in dieser Reihenfolge.
Kubische Bézierkurven werden von allen Exportformaten unterstützt und durch zwei Endpunkte und zwei Kontrollpunkte definiert. Die tangentiale Richtung der Kurve an einem Endpunkt verläuft stets parallel zu der Linie, die diesen Endpunkt mit dem entsprechenden Kontrollpunkt verbindet.
Wenn kubische Bézierkurven deaktiviert sind, greifen wir auf Linien zurück.
Kreisbögen werden von SVG, DXF und unserem PNG-Vektor-Rasterizer unterstützt und von einer Mitte, einem Radius, einem Startwinkel und einem Mittelpunktswinkel definiert.
Wenn Kreisbögen deaktiviert sind, greifen wir auf elliptische Bögen, kubische Bézierkurven und Linien zurück, und zwar in dieser Reihenfolge.
Elliptische Bögen werden von SVG, DXF und unserem PNG-Vektor-Rasterizer unterstützt und durch eine Mitte, eine Haupt- und Nebenachse, einen Drehwinkel, einen Startwinkel und einen Mittelpunktswinkel definiert.
Wenn elliptische Bögen deaktiviert sind, greifen wir auf kubische Bézierkurven und Linien zurück, und zwar in dieser Reihenfolge.
Falls Kurven in ein oder mehrere Liniensegmente konvertiert werden müssen, kann mit den Optionen in diesem Abschnitt die Qualität der Anpassung gesteuert werden.
Wie bereits weiter oben erwähnt, besteht ein bei Vektorbild-Rasterisierungs-Engines sehr häufig auftretender Fehler darin, dass die Hintergrundfarbe zwischen Formen, die einander berühren, durchscheinen können, selbst wenn in der zugrunde liegenden Geometrie keine eigentliche Lücke vorhanden ist. Dies zeigt sich in der Regel als dünne, weiße Linien, die das Ergebnis in Puzzleteile unterteilen.
Um dieses Problem zu lösen, können Sie die Lückenfüllfunktion aktivieren, mit der kleine Striche hinter und zwischen einander berührende Formen gesetzt werden können, wobei die Farbe benutzt wird, die der Durchschnittsfarbe der entsprechenden zwei Formen entspricht. Dadurch wird verhindert, dass der Hintergrund hindurch scheint.
Wenn die Nachzeichnungsart auf „Formen nachzeichnen“ oder „Kanten nachzeichnen“ gesetzt ist, kann mit den Optionen in diesem Abschnitt die Strichart gesteuert werden.