2013-07-23 11 views

Antwort

13

Es war eigentlich ziemlich schwer zu finden. Die Suche nach Methoden von SVGElement führt zu Seiten, die sagen SVGElement hat keine Methoden! Es tut in der Tat eine Menge von Methoden, aber sie werden vererbt:

http://www.w3.org/TR/SVG/types.html#InterfaceSVGLocatable

Je nachdem, was Sie wollen Sie das Ergebnis getCTM oder getScreenCTM können eine SVGPoint, zu transformieren und so erfahren, wo Sie Element :

root = document.getElementById('root') 
rec = document.getElementById('rec') 
point = root.createSVGPoint() 
# This is the top-left relative to the SVG element 
ctm = rec.getCTM() 
console.log point.matrixTransform(ctm) 
# This is the top-left relative to the document 
ctm = rec.getScreenCTM() 
console.log point.matrixTransform(ctm) 

http://jsfiddle.net/kitsu_eb/ZXVAX/3/

+0

Schön! Ich wusste nichts über matrixTransform. Das Javascript ist leer in deiner Geige. Hast du aktualisiert? Versuche es auszuprobieren. –

+1

Funktioniert! Vielen Dank. Working Fiddle: http://jsfiddle.net/T8aZP/14/ –

+0

Ich habe versucht Thedeeno verbundenen Geige, aber ich habe nicht das Ergebnis, das ich erwartet hatte. Hier ist eine Verzweigung, die getBBox benutzt, um die anfänglichen Koordinaten des Punktes zu setzen: http://jsfiddle.net/kitsu_eb/T8aZP/15/ –

Verwandte Themen