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 回答