我有一个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
造成这种情况的原因是什么,更重要的是有解决办法吗?
答案 0 :(得分:1)
你应该使用RaphaelJs的print()
方法,它产生一系列路径。您可以在数组上使用getBBox()
来获取边界框。
答案 1 :(得分:1)
TextElement.getBBox()仅适用于浏览器,不应在服务器端使用。