SVGのテキストの周囲に長方形を配置したいと思います。 テキストの高さはわかっています(text
要素のfont-size
属性)。しかし、幅は実際のコンテンツに依存します。 getBBox()
またはgetComputedTextLength()
を使用すると効果があります。しかし、これはレンダリングの後でのみ機能します。レンダリング前にSVGでテキストの幅を取得する
これを別の方法で指定する方法はありますか?例えば、x
属性とwidth
属性を他の値との相対的な関係で定義していますか?私はSVG仕様でそういうものは見つけられませんでした。
レンダリング後の測定で何が問題になりますか? –
@RobertLongsonコードの複雑さと視覚的なジャンプ。私は文書全体を動的に生成しています。すべてのオブジェクトを準備してから、ドキュメントに追加してレンダリングする必要があります。レンダリング後に計算するときは、未完成のオブジェクトをレンダリングしてから、レンダリング後に変更する必要があります。これは視覚的なジャンプにつながるでしょう。 – radlan
質問にあなたのコードを追加しますか?ドキュメントにまだ挿入されていない要素のbboxとテキストの長さを取得しようとしていますか? –