-1

SVG で次のテキスト要素を定義しています。

var data = document.createTextNode("Testing text in SVG");  
var text = document.createElementNS(xmlns, "text");
text.setAttributeNS(null, "font-size",'60');
text.setAttributeNS(null, "x", 2000);
text.setAttributeNS(null, "y", 100);
text.setAttributeNS(null, "fill", "black");
text.setAttributeNS(null, "text-anchor", "middle");
text.setAttributeNS(null, "id", "textLabel");
text.appendChild(data);
Root.appendChild(text);

残念ながら、SVG を拡大するとテキストが見えなくなります。これは、x 座標と y 座標がハードコードされているためです。ズームインとズームアウトに関係なく、テキストが常に SVG の上部中央領域に表示されるようにするため、これを修正するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

0

svgテキスト要素を名前空間に追加してみてくださいxmlns

var text = document.createElementNS("http://www.w3.org/2000/svg", "text");

「ハードコードされた」座標は重要ではありません。要素が正しく追加された場合、これらは svg キャンバスに対する座標になります。

于 2012-05-12T21:39:33.087 に答える