下午全部,
我正在尝试绘制一个动态的“标尺”,可以缩放(与页面的其余部分一起)并使用Raphael进行注释。
我发现Raphael的pathBBox()和isBBoxIntersect非常有用,可以确定是否应该在某个点打印刻度,或者它是否与另一个点太接近,因此应该跳过。
现在我需要注释一些刻度,并希望遵循类似的方法 - 注释最大的刻度,工作到最小的细节水平但跳过绘制文本,如果它将与已经绘制的一些相交。
不幸的是,我通过Raphael文档看了一下,只向我展示了Paper.print()和Paper.text()方法,两者都添加到了论文中。这意味着我必须添加,然后找到bbox并测试,然后删除,如果不好 - 这可能相当慢。
有没有办法找到我想要打印的某些文字的尺寸而不打印它,这样我就可以手动创建一个bbox对象并对我存储的bbox进行测试?
一如既往,非常感谢! : - )
干杯, -OLi
答案 0 :(得分:0)
您可以在text:
上使用.getBBox() var text = paper.text(...);
if (text.getBBox().width > max) ...;
我没有看到这个正式记录,但它有效,显然是跨浏览器。