Zum Inhalt springen

SVG-Pfad-Editor

SVG Path Editor

Wandelt Pfaddaten zwischen absoluten und relativen Befehlen um, verschiebt, skaliert, dreht und kehrt sie um und zeigt die Bounding-Box mit Live-Vorschau.

Liest ein `d`-Attribut und gibt Ihnen ein transformiertes zurück: absolut oder relativ, verschoben, skaliert, um das Zentrum der Bounding Box gedreht, umgekehrt und auf die Zahl von Dezimalstellen gerundet, die Sie wählen. Es zeichnet das Ergebnis über Path2D, sodass der Browser die Bogenmathematik genauso rechnet wie ein SVG-Renderer, und meldet die Bounding Box und eine viewBox, die Sie einfügen können.

🔒 Läuft vollständig in Ihrem Browsersvgpathvectoredit

Das d-Attribut eines path

Form der Befehle

Vorschau

Das gestrichelte Rechteck ist die Bounding Box, der rote Punkt der Startpunkt. Die Füllung folgt der Nonzero-Regel.

Ergebnis

Befehle

18

Teilpfade

3

Zahlen

32

Bytes

113 → 97

Bounding Box

x 2,00 y 2,00 w 20,00 h 20,00

viewBox

2.00 2.00 20.00 20.00

Was es tut

  • · Gelesen wird mit demselben Parser wie im SVG-Optimierer, also wird auch gedrängte Schreibweise wie 1.5.5 und die Flags eines Bogens richtig gelesen. Es wandelt zwischen absolut und relativ, rundet Nachkommastellen, verschiebt, skaliert und dreht um die Mitte der Bounding Box, kehrt die Richtung um und berechnet die Bounding Box.
  • · Beim Drehen werden H und V zu L, und die Radien eines Bogens, seine Drehung um die x-Achse und sein Sweep-Flag werden mit den Formeln aus SVG 1.1, Anhang F.6, neu berechnet. Die Bounding Box stammt aus den echten Extrema jeder Kurve, nicht aus ihren Kontrollpunkten.
  • · Kurven werden nicht vereinfacht. Das ändert die Form, und die Toleranz zu wählen ist eine menschliche Entscheidung.

Um eine ganze Datei zu verkleinern: der SVG-Optimierer; um zu justieren, wie eine Kurve beschleunigt: der Easing-Kurven-Editor.

So funktioniert es

  1. Fügen Sie das d-Attribut ein

    Nur den Wert, ohne das `<path>` drumherum. Komprimierte Notation ist in Ordnung – `1.5.5` als zwei Zahlen, Bogen-Flags ohne Trennzeichen –, weil der Parser der aus dem SVG-Optimierer ist und diese Fälle behandelt.

  2. Wenden Sie die Transformation an, die Sie brauchen

    Verschieben, Skalieren und Drehen werden auf die Geometrie selbst angewendet, was herauskommt, braucht also kein `transform`-Attribut. Gedreht wird um das Zentrum der Bounding Box, was Sie für ein Icon wollen und was ein rohes `rotate()` nicht tut.

  3. Wählen Sie absolut oder relativ, und die Genauigkeit

    Relative Befehle sind gewöhnlich kürzer, was für ein inline eingefügtes Icon zählt. Die Genauigkeit ist der eigentliche Größenhebel: Drei Dezimalstellen reichen für ein 24-Einheiten-Icon-Raster völlig, und von sechs auf zwei zu gehen halbiert die Zeichenkette oft. Beobachten Sie den Byte-Zähler, während Sie ihn bewegen.

  4. Kehren Sie die Richtung um, wenn eine Füllung falsch aussieht

    Der rote Punkt markiert den Startpunkt, die Wirkung einer Umkehr ist also sichtbar. Die Richtung entscheidet, ob ein innerer Teilpfad unter der nonzero-Regel ein Loch ist, und ihr folgt auch eine stroke-dash-Animation.

  5. Nehmen Sie den Pfad, oder die viewBox

    Das Ausgabefeld hat den `d`-Wert und ein fertiges `<path>`-Element. Das Statistik-Panel hat die Bounding Box als viewBox-Zeichenkette, und das ist der schnellste Weg, ein Icon seinen Rahmen exakt füllen zu lassen.

Häufige Fragen

Warum vereinfacht es die Kurve nicht?

Weil Vereinfachung die Form verändert, und wie viel Veränderung akzeptabel ist, ist ein Urteil über diese bestimmte Zeichnung, das ein Werkzeug nicht fällen kann. Jeder Punktreduktionsalgorithmus nimmt eine Toleranz, und der ehrliche Ort für diese Entscheidung ist ein Vektoreditor, in dem Sie sehen, was sie kostet. Dezimalstellen zu runden ist der sichere Größenhebel, und der ist hier.

Was passiert mit Bögen, wenn ich drehe oder skaliere?

Sie bleiben Bögen. Die Radien, die x-Achsen-Drehung und das Sweep-Flag werden mit den Formeln aus SVG 1.1 Anhang F.6 neu berechnet, und das ist es, was die Achsen einer Ellipse unter einer ungleichmäßigen Skalierung korrekt hält. `H` und `V` werden unter Drehung zu `L`, weil eine horizontale Linie nicht horizontal bleibt.

Stammt die Bounding Box aus den Kontrollpunkten?

Nein, aus den tatsächlichen Extrema jeder Kurve. Ein Kontrollpunkt einer kubischen Kurve liegt gewöhnlich außerhalb der Kurve, eine Kontrollpunkt-Box ist also zu groß – oft merklich, und genau dann zählt es, weil die Box das ist, was Sie als viewBox einfügen.

Es verarbeitet nur einen Pfad. Was ist mit einer ganzen Datei?

Das hier arbeitet absichtlich auf einem einzelnen `d`-Wert – es ist die Ebene, auf der die Transformationen und die Umkehr Sinn ergeben. Für ein ganzes Dokument schreibt der SVG-Optimierer jeden Pfad darin um, und der SVG-Editor liest die Struktur um sie herum.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.