File talk:SVG-Beispiel 3b.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Variation der Grafik

[edit]

Bei genauerer Betrachtung ist zu sehen, dass der Abstand vom linken Rand zur ersten Figur 4 px beträgt, jedoch die Distanz der rechten Figur zum Rand 6 px. Auch der vertikale Abstand ist oben und unten ungleich, 9 px gegen 11 px.

Natürlich ist leicht, das so zu verschieben, dass die Abstände gleich sind, horizontal 5 und 5 px bzw. vertikal 10 und 10 px. Das ist auf sehr verschiedene Weise möglich. Die Figuren sind mit der Anweisung <path d="m4,9v20h18V9 m8,0v20h18V9H30 m26,0v20h18V9z"/> gezeichnet - sowohl absolute als auch relative Koordinaten (zur besseren Lesbarkeit sind die Teilpfade mit Zwischenräumen getrennt).
Dasselbe mit ausschliesslich absoluten Koordinaten wäre <path d="m4,9V29H22V9 M30,9V29H48V9H30 M56,9V29H74V9z"/> in dieser Schreibweise ist deutlicher zu sehen, dass links 4 pixel, aber rechts (80 - 74) 6 pixel Distanz sind, und oben 9 aber unten (40 - 29) 11 pixel liegen. Um in dieser Schreibweise, die etwas länger ist als die Mischform, die Figuren zu zentrieren muss jede einzelne der 16 Koordinaten um 1 px verändert werden.

Es lässt sich dasselbe auch mit relativen Koordinatenwerten zeichen, die Anweisung gerät noch etwas länger als die Absolutform: <path d="m4,9v20h18v-20 m8,0v20h18v-20h-18 m26,0v20h18v-20z"/>. Hier jedoch ist das Verschieben ungleich einfacher, es genügt das erste Koordinatenpaar zu ändern - mit "m5,10v... ist zentriert, und für jede andere Verschiebung ist nicht mehr Aufwand zu erbringen.

Hier nochmals die drei Varianten:

<path d="m4,9v20h18V9 m8,0v20h18V9H30 m26,0v20h18V9z"/>
<path d="m4,9V29H22V9 M30,9V29H48V9H30 M56,9V29H74V9z"/>
<path d="m4,9v20h18v-20 m8,0v20h18v-20h-18 m26,0v20h18v-20z"/>

und zentriert:

<path d="m5,10v20h18V10 m8,0v20h18V10H31 m26,0v20h18V10z"/>
<path d="M5,10V30H22V10 M31,10V30H48V10H31 M57,10V30H75V10Z"/>
<path d="m5,10v20h18v-20 m8,0v20h18v-20h-18 m26,0v20h18v-20z"/>

Es hat jede der drei Schreibweisen ihre Vorteile, und ihre Nachteile; in diesem Beispiel erfordert die Variante mit realativen Distanzen dem umfangreichsten Code - im allgemeinen ist solcher Code der minimalste, weil kurze Sreckenstücke fern dem Ursprung mit einstelligen oder kleinen Zahlen codierbar sind.

Ganz generell kann festgestellt werden, dass die relative Codierung zu bevorzugen sein wird.