Fabric.js:如何仅使用addWithUpdate()对对象进行分组
Fabric.js: how to group objects using only addWithUpdate()
我的观点是创建一个由3个矩形组成的组,并将该组居中。问题是我无法将这些矩形分组,所以下面的问题是,当我将组居中时,所有矩形都将在同一个中心位置重叠。
从代码中解释,为了更容易理解,每个i
中的矩形都有不同的位置,所以我必须创建一个组来存储它们,然后将组居中,以防止矩形在同一中心位置重叠。
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();
}
然而,如果你对我的观点有更好的解决方案,请提出。我会非常感激的。
每次循环迭代时都会创建一个新组。
var group = new fabric.Group();
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
});
group.addWithUpdate(clipRect);
}
canvas.add(group);
canvas.centerObject(group);
canvas.renderAll();
相关文章:
- 使用JS将数组转换为json对象
- 查看JS对象的所有键,甚至是getter定义的键
- 在URL中传递JS对象
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- Node.js中的JavaScript原型对象效率
- 如何使用自定义功能覆盖时间轴对象.js时间轴对象的_repaintMinorText
- 如何在第三轴上旋转 3D 对象.js
- 三个中是否有容器类型对象.js来转换一组子对象
- 从 JSON 对象 - JS 周围删除双引号
- 删除对象JS中的节点
- 在对象数组中搜索非空对象JS
- 按未定义的值从数组中选择对象?JS
- 递归循环,直到我们'重新处理对象[JS]
- 向窗口对象-js添加新属性时得到通知
- 如何包含对象/关联数组到对象(js)
- 加载依赖于页面的面向对象JS属性的最好方法是什么?
- 合并新的数组对象到现有的对象js
- 获取带有下划线的数组中的对象.js
- 在带有下划线的嵌套集合中查找对象.js