我目前正在使用SVG。我需要知道像素的字符串長度,以便進行一些對齊。我怎樣才能獲得像素中的字符串的長度?獲取Svg中字符串的像素長度
更新:感謝nrabinowitz。基於他的幫助,我現在可以獲得動態添加文本的長度。這裏有一個例子:
<svg id="main"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="1020"
height="620"
viewBox="0 0 1020 620"
onload="startup(evt)">
<script>
<![CDATA[
var startup = function (evt) {
var width;
var svgNS = "http://www.w3.org/2000/svg";
var txtNode = document.createTextNode("Hello");
text = document.createElementNS(svgNS,"text");
text.setAttributeNS(null,"x",100);
text.setAttributeNS(null,"y",100);
text.setAttributeNS(null,"fill","black");
text.appendChild(txtNode);
width = text.getComputedTextLength();
alert(" Width before appendChild: "+ width);
document.getElementById("main").appendChild(text);
width = text.getComputedTextLength();
alert(" Width after appendChild: "+ width)
document.getElementById("main").removeChild(text);
}
//]]>
</script>
</svg>
你在用什麼語言工作? – Jasper 2012-04-20 23:08:24
我的意思是可縮放矢量圖形。 – nxhoaf 2012-04-20 23:22:49
顯然,但你正在用某種語言處理svg,不是嗎? – Jasper 2012-04-20 23:24:35