getBBox()缺less文本元素的值

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

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 

这将是什么原因,更重要的是有一个修复?

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

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