sof*_*var 21 javascript html5-canvas fabricjs
有没有办法明确选择特定时刻出现的所有对象.这可以通过鼠标轻松完成全部选择.是否存在类似按钮的代码解决方案,Select All
以便单击它将使所有结构类型对象被选中,然后我可以使用canvas.getActiveGroup();
并迭代将更改应用于整个ActiveGroup .
kan*_*gax 32
好问题.
没有内置的方法,但你需要做这些方面的事情:
var objs = canvas.getObjects().map(function(o) {
return o.set('active', true);
});
var group = new fabric.Group(objs, {
originX: 'center',
originY: 'center'
});
canvas._activeObject = null;
canvas.setActiveGroup(group.setCoords()).renderAll();
Run Code Online (Sandbox Code Playgroud)
代码应该是不言自明的,当你使用鼠标,shift + click等时,它几乎就是在幕后发生的事情.
小智 5
使用当前版本的fabric.js(2.3.1),您可以执行以下操作:
canvas.discardActiveObject();
var sel = new fabric.ActiveSelection(canvas.getObjects(), {
canvas: canvas,
});
canvas.setActiveObject(sel);
canvas.requestRenderAll();
Run Code Online (Sandbox Code Playgroud)
这是来自演示页面的报价:http : //fabricjs.com/manage-selection