Получить BBox ГРУППЫ объектов Рафаэля?

Как лучше всего получить ограничивающую рамку нескольких объектов Raphael в целом?

Могу я поместить их всех в set и позвонить mySet.getBBox()?

Или мне нужно перебрать их все, получить bbox для каждого и вычислить общую высоту и ширину?

(Кроме того, я не могу использовать SVG напрямую — мне нужна поддержка VML.)


person peteorpeter    schedule 02.02.2011    source источник


Ответы (1)


Эм-м-м. Это действительно легко. (Спасибо @Dylan):

var paper = Raphael ('test', 100, 100);

var circles = paper.set();

var c1 = paper.circle(70,30,10);
var c2 = paper.circle(50,10,10);
var c3 = paper.circle(10,80,10);

circles.push(c1, c2, c3);

alert(c3.getBBox().width); // --> 20

alert(circles.getBBox().width); // --> 80
person peteorpeter    schedule 08.02.2011
comment
Разве это не потому, что вы не нажимали c-объекты в наборе кругов? - person Dylan; 19.06.2011
comment
@ Дилан - вау, мой ответ был болезненно неправильным. Спасибо за подсказку - теперь обновлено в ответе. - person peteorpeter; 21.06.2011