[英]How to get the actual x/y position of an element in SVG with transformations and matrices
我需要獲取SVG中這樣寫的元素的x / y位置:
<g transform="scale(10,10)" id="g6558">
<text transform="matrix(1,0,0,-1,236.532,417.253)" id="text6560">
<tspan x="0 4.448" y="0" id="tspan6562">10</tspan>
</text>
</g>
在這種情況下,如何獲取tspan
元素的當前位置? 我必須手動計算它們,因為我不能使用getBBox()
或其他本機函數,因為我使用Flash包裝器來顯示SVG(http://code.google.com/p/svgweb/)支持基本屬性,標簽名稱等
如何在元素的x / y位置上計算矩陣和變換?
除了我理解你的問題,你需要知道一個元素的x和y坐標,在它被轉換之后。
在數學上,所有變換都可以表示為以下形式的3x3變換矩陣:
a b e
c d f
0 0 1
由於在上述3x3矩陣中僅使用了六個值,因此變換矩陣也表示為向量: [abcdef]
。 a和d分別負責x和y的縮放,而e和f分別給出x和y中的平移軸。 所以在你的代碼中
<text transform="matrix(1,0,0,-1,236.532,417.253)" id="text6560">
<tspan x="0 4.448" y="0" id="tspan6562">10</tspan>
</text>
元素文本在y軸的x軸417.253中被翻譯為236.532。 所以tspan x點變為236 .. + 4.4 ..和y點417 .. + 0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.