Wie kann ich bei einem SVG-Pfad-Element alle Pfadbefehle in absolute Koordinaten umwandeln? Konvertieren Sie diesen Pfad beispielsweise:
%Vor%in diesen äquivalenten Pfad:
%Vor%Diese Frage wurde motiviert von diese Frage .
Hier ist der JavaScript-Code, den ich mir ausgedacht habe:
%Vor%Verwendet so mit dem Pfad von der Frage:
%Vor%Bearbeiten : Hier ist eine Testseite mit einem Pfad, der jeden Befehl (absolut und relativ) interleaved enthält und zeigt, dass die Konvertierung in den aktuellen Versionen von IE, Chrome, FF und Safari funktioniert . Ссылка
Wenn Sie Raphaël haben, haben Sie sowohl Raphael.pathToRelative
als auch Raphael._pathToAbsolute
.
Raphael._pathToAbsolute
befindet sich nicht in der Dokumentation ( wie pathToRelative ) und wird intern an vielen Stellen in Raphael Source verwendet . Es kann aber auch extern verwendet werden, wenn Sie _
vor dem Funktionsnamen auf diese Weise hinzufügen: Raphael._pathToAbsolute
.
Online-Konvertierung: Ссылка
Die Verwendung ist die gleiche wie die relative:
%Vor%Ich weiß nicht, warum pathToAbsolute nicht in der Dokumentation ist. Es sollte.
Wenn Sie möchten, dass dies in Web Workers funktioniert (um den Code zu beschleunigen), ist es einfach, die gewünschte Funktion von Raphael zu bekommen (was von der Lizenz erlaubt sein sollte) und sie als eine DOM-freie Methode zu verwenden. Raphael ist eine DOM-Manipulationsbibliothek (wie auch jQuery) und kann nicht in Workers verwendet werden, da DOM in Workers nicht unterstützt wird. Wenn Sie sehr komplexe Pfade haben, kann der Browser hängen bleiben, und Web Workers bietet eine Lösung in modernen Browsern zu verhindern.
Tags und Links javascript svg