Thread Absolute Position von Elementen in SVG Datei rausfinden (5 answers)
Opened by sas at 2010-01-05 02:04

leo11
 2010-01-05 07:28
#130030 #130030
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
Weiß nicht ob folgendes für deine Zwecke ok ist:

Sorg dafür, das die Datei sauber mit Zeilenumbrüchen formatiert ist. D.h. nicht alles in einer Zeile steht, etc. Dafür gibt's diverse Tools. Bei mir hab ich dafür xmllint --format (Linux).

Les die Datei blockweise ein. Bspw. kann ein Block von <g transform= bis </g transform sein. Für jeden Block prüfst du dann deine Regeln und holst dir ggf. was du brauchst. In Pseudocode:

Lies den ersten Block
if match <img id="Bild1" x="25" und match xy (d.h match in dem gesamten aktuellen Block)
speicher dir.. .
lies den nächsten Block

Hat den Vorteil, das es auch für sehr große Dateien sehr schnell ist. Wenn man sich ein wenig mit den Regex Spezialitäten auskennt, kann man auch innerhalb eines Blocks pro Zeile matchen und solche Sahnehäubchen.

Meiner Meinung nach eine sehr starke Lösung für so manches Problem. Alternativ gehen auch Module wie von murphy vorgeschlagen. Kommt halt immer drauf an was man braucht. sid burn hat gestern erst in einem anderen Thread erwähnt, das nicht immer die schnellste Lösung die beste ist. Genausowenig muss es immer das mächtigste Tool sein. Für eine ähnliche Aufgabe hab ich auch mal ein Modul benutzt, dass Dateien als Array betrachtet. Das Ding managet auch riesen Dateien zuverlässig, brauchte aber für das gleiche Ergebnis sehr viel länger, was bedeutete Minuten vs Sekunden.

View full thread Absolute Position von Elementen in SVG Datei rausfinden