0

次の変数があります:

コンテナーの高さ: 3cm
テキスト: John Smith
フォントの種類: Times New Roman


これらの変数に基づいて、レンダリングされたテキストが高さに適合し、幅がレンダリングされたテキストに適合する svg ドキュメントを作成したいと思います。 .

したがって、私の場合は次のようになります(手動で行います): ここに画像の説明を入力

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="" height="3cm" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <text x="" y="" font-size="" font-family="Times New Roman" >
  John Smith
  </text>
</svg>

それは何らかの方法で可能ですか?SVGを扱うのはこれが初めてです。

4

1 に答える 1

0

私が提案できる唯一のことは、JavaScriptを使用して、レンダリングされたテキストに基づいてドキュメントのサイズを変更することです。私の頭の上から、あなたは次のようなことをすることができます:

var elem = document.getElementById(//text id);
var height = elem.getBBox().height;
var width = elem.getBBox().width;

var svg_elem = document.getElementById(//svg id);
svg_elem.setAttributeNS(null, "width", width); 
svg_elem.setAttributeNS(null, "height", height);

Javascriptに関する限り、それをhtmlファイルに配置し、DOMがロードされるとすぐに実行できます。

于 2012-10-19T23:12:45.980 に答える