getBBox()缺少文本元素的值

时间:2012-01-09 15:47:49

标签: javascript node.js svg raphael jsdom

我有一个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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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