我的观点是创建一组3个矩形,并使该组居中。 问题是我无法对这些矩形进行分组,因此以下问题是,当我将组居中时,所有矩形将在同一个中心位置重叠。
从代码中解释为了更容易理解,每个i
中的矩形具有不同的位置,因此我必须创建一个组来存储它们然后使组居中,以防止矩形在同一个中心位置重叠。 / p>
for (var i = 0; i < count; i++) {
var Bid = '#' + i;
var Bheight = $(Bid).height();
var Bwidth = $(Bid).width();
var Btop = $(Bid).position().top;
var Bleft = $(Bid).position().left;
alert(Bleft);
var clipRect = new fabric.Rect({
originX: 'left',
originY: 'top',
height: Bheight,
width: Bwidth,
left: Bleft,
top: Btop,
fill: '#DDD',
opacity: 0.5,
strokeWidth: 0,
selectable: false
});
var group = new fabric.Group();
group.addWithUpdate(clipRect);
canvas.add(group);
canvas.centerObject(group);
canvas.renderAll();
}
但是,如果您有更好的解决方案,请提出建议。我会很感激。
答案 0 :(得分:1)
每次循环迭代时,您都在创建一个新组。
ns_B