Fabric.js:如何仅使用addWithUpdate()对对象进行分组

时间:2016-01-02 00:21:12

标签: javascript fabricjs

我的观点是创建一组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();
    }

但是,如果您有更好的解决方案,请提出建议。我会很感激。

1 个答案:

答案 0 :(得分:1)

每次循环迭代时,您都在创建一个新组。

ns_B