如何获取一组Raphael对象的BBox宽度和高度?

问题描述

| 在Raphel.js中,如何获取一组Raphael对象的BBox宽度和高度? 例如,我在Rapheal纸上绘制了以下几个元素:
var paper = Raphael(10,50,320,200);
var st = paper.set();

var c = paper.rect(40,40,10);
var e = paper.ellipse(50,20);
var i = paper.image(\"apple.png\",10,80,80);
var t = paper.text(50,\"Raphaël\\nkicks\\nbutt!\");
...

st.push(c,e,i,t ...);
我试图使用以下方法来获取一组元素的BBox宽度和高度:
var myBBox = st.getBBox();
var width = myBBox.width;
var height = myBBox.height;

console.log(width+\',\'+height);
有时它是可行的,但有时我会获得Infinity的价值。我猜这是拉菲尔的虫子。因此,如果我想获取画布的当前BBox大小(一组元素),正确的方法是什么?     

解决方法

        您可以手动执行。对于组的每个元素: 获取
left
x
坐标。获得最小值。
var MinLeft
获取
right
坐标。可以像
left
+
width
x2
那样计算。获得最大值。
var MaxRight
获取
top
y
坐标。获得最小值。
var MinTop
获取
bottom
坐标。可以像
top
+
height
y2
那样计算。获得最大值。
var MaxBottom
结果:您的小组的
left
=
MinLeft
;您小组的s10ѭ=
MinTop
;您小组的
height
=
MaxBottom-MinTop
;您小组的
width
=
MaxRight-MinLeft
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...