2013-07-23 12 views

答えて

13

実際に見つけるのは難しいことでした。 SVGElementのメソッドを検索すると、SVGElementにはメソッドがありませんというページが表示されます。それは実際にはメソッドのトンを持っていますが、それらは継承されています

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

あなたがSVGPointを変換するためにgetCTMまたはgetScreenCTMの結果を使用することができますしたい内容に応じて、あなたの要素がどこにあるように学びます:

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

ニース!私はmatrixTransformについて知らなかった。 JavaScriptはあなたのフィドルでは空です。更新しましたか?これをテストしようとしています。 –

+1

作品!ありがとう。働くフィドル:http://jsfiddle.net/T8aZP/14/ –

+0

私はthedeenoのリンクされたフィドルを試みたが、私は期待した結果を得られなかった。ここにgetBBoxを使ってポイントの初期座標を設定するフォークがあります:http://jsfiddle.net/kitsu_eb/T8aZP/15/ –

関連する問題