1

我有一个 Node.js 项目,它使用 jsdom 和 Raphael Js 在我的服务器上生成 SVG 标记,一切都很顺利,直到我在 Raphael 文本元素上调用 getBBox() 时开始出现缺失值。

var paper = window.Raphael(10, 50, 320, 200);
var txt = paper.text(10, 10, 'hello world!');       
console.log( txt.getBBox().toString() ); // Returns: NaN NaN NaN × NaN

然而 ...

var rect = paper.rect(10, 10, 10, 10);
console.log( rect.getBBox().toString() ); // Returns: 10 10 10 × 10

造成这种情况的原因是什么,更重要的是有解决办法吗?

4

2 回答 2

1

您应该使用print()RaphaelJs 的方法,它会生成一个路径数组。您可以getBBox()在数组上使用来获取边界框。

于 2012-01-21T12:10:12.097 回答
1

TextElement.getBBox() 仅适用于浏览器,不应在服务器端使用。

于 2012-12-30T06:01:51.973 回答