大家好,非常感谢你的帮助。
我是fabric.js的新手,我有一个基本的问题。
更一般地说,如果有人可以向我解释如何访问群组中的其他对象,那将会非常有用吗?
我不知道该怎么做。
function groupit() //Works {
var circle1 = new fabric.Circle({
radius: 50,
fill: 'red',
left: 0
});
var circle2 = new fabric.Circle({
radius: 50,
fill: 'green',
left: 100
});
var circle3 = new fabric.Circle({
radius: 50,
fill: 'blue',
left: 200
});
var group = new fabric.Group([ circle1, circle2, circle3 ], {
left: 200,
top: 100
});
canvas.add(group);
}
function groupchg() //Does not work {
canvas.setActiveGroup(group);
group.add(new fabric.Rect({
left: 100,
top: 100,
originX: 'center',
originY: 'center'
}));
}
答案 0 :(得分:0)
因为您在canvas.setActiveGroup(group);
中呼叫function groupchg()
,而属性group
可能为空。如果从group
中定义function groupit()
属性,则可以修复。
答案 1 :(得分:0)
好的找到解决方案。
要访问组的特定对象,请使用以下代码:
function groupchg() {
//console.log(canvas.getActiveGroup());
canvas.setActiveObject(canvas._objects[0]._objects[1]);
var activeObj = canvas.getActiveObject();
activeObj.setFill('red');
activeObj.set({left: 30,top:150});
canvas.renderAll();
}