SVG テキスト要素に問題があります。SVG テキストの中心点を見つけたい。HTML ファイルの場合:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<text x="300" y="300" style="font-size: 80px;" id="test">It is example text</text>
</svg>
Javascriptでは、次のようなものがあります:
var obj = document.getElementById('test').childNodes[1];
var box = obj.getBBox();
var centerPoint = new Object();
centerPoint.x = box.x + box.width / 2;
centerPoint.y = box.y + box.height/ 2;
しかし、うまくいきません。中心点が思ったよりも低くなっています。「centerPoint.y」から差し引かなければならないテキスト属性がもう 1 つあります。「centerPoint.x」の値は問題ないようです。IE9 ブラウザ、Chrome、Opera、Firefox で確認済みです。結果は同じです。
それとも、他の解決策がありますか?
編集
要約すると、私のコードは正しく動作します。コード全体を書き直しましたが、今は大丈夫です。何が起こったのかわかりません。おそらく私のブラウザはスクリプトをまったく更新していませんでした。line-height を「0」に設定する必要はありません。getBBox 必要なのはこれだけです。
とにかく、お時間をいただきありがとうございます。私の英語で申し訳ありません! :)