2015-10-16 32 views
0

有什麼方法可以使用Javascript獲取svg中每個字符的邊界?SVG在Javascript中獲取文本字符邊界

注:所有的文本都在SVG文本元素(不TSPAN ...等)

+0

我想這些字符是相同的''節點下,對吧?請給,更多的信息更好 – sailens

+0

是的,謝謝你的筆記我更新了這個問題。 – user2179256

+0

我的意思是如果你有'個字符''或' c h a ...'。如果這是第一種情況,恐怕你無法單獨獲得每個角色的邊界。也許你可以得到整體的邊界,然後將它們除以字符的數量,但它永遠不會是一個確切的答案。 目的是什麼?也許我們可以找到更準確的解決方法。 – sailens

回答

3

有一個叫getExtentOfChar SVG DOM方法,將讓你的每個字符的邊框。

通行證在你想要得到的字符,0的指數爲第一個字符等

var t = document.getElementById("t"); 
 
alert(t.getExtentOfChar(0).width + " " + t.getExtentOfChar(3).width);
<svg> 
 
    <text id="t" y="20">hello</text> 
 
</svg>

+0

不知道。太好了,謝謝。 – sailens

+0

關於getExtentOfChar的文檔的注意事項:「計算假定所有字形佔用字體的完整標準字形單元格」,所以它不一定會爲每個字符返回緊密的框。 –