Beim Lesen der SVG 1.1-Spezifikation versuche ich, die Beziehung zwischen den verwendeten Einheiten zu verstehen Definieren des anfänglichen Ansichtsfensters und der im gesamten Dokument verwendeten Einheiten.
Wenn ein Ansichtsfenster anfänglich mit Punkten definiert wurde
<svg width="800pt" height="1002pt" viewBox="0 0 800 1002" version="1.1">
und der Rest des Dokuments hat keine Einheitenbezeichner, sind es auch Punkte, oder ist es standardmäßig etwas? Gemäß diesem Teil der Spezifikation :
Wenn ein Koordinaten- oder Längenwert eine Zahl ohne Einheitskennung (z. B. "25") ist, wird angenommen, dass die gegebene Koordinate oder Länge in Benutzereinheiten liegt (dh ein Wert im aktuellen Benutzerkoordinatensystem).
Das fragliche SVG-Dokument hat einen Pfad mit einem d
-Wert von M 50.91 9.82 L 51.98 10.04 C 53.51 12.71 52.60 16.03 52.75 18.97
. Ich habe gelesen, dass sich nach (50.91pt, 9.82pt) eine Linie zu ziehen (51.98pt, 10.04pt), und dann eine kubische Bezier-Kurve zu zeichnen (52.60pt, 16.03pt).
Stimmt irgendetwas davon?
Sie haben Recht. Wenn die anfängliche Breite / Höhe in Punkten definiert ist und mit der Viewbox-Deklaration übereinstimmt (die das Verhältnis zwischen Benutzereinheiten und realen Größen festlegt), ist die Standardeinheit für den Rest des Dokuments 1pt.
cf: Ссылка
(Ich möchte jedoch darauf hinweisen, dass Ihre Interpretation der kubischen Bezierkurve nicht korrekt ist - der Zielpunkt ist 52.75, 18.97 (dh die ersten beiden Koordinatensätze geben Kontrollpunkte an, nicht den Zielpunkt. Beachten Sie auch, dass die Hauptstadt "C" bezeichnet absolute Koordinaten (vs. kleines "c" ist relativ)).
(Auch wenn Sie nur neugierig sind - aber warum wählen Sie Punkte im Vergleich zu Pixeln? Das erscheint etwas ungewöhnlich, es sei denn, Sie planen interessante Dinge mit Text.)