我在组中有两个画布对象(Rectungle和Triangle)。 然后我需要删除它们,然后将其中一个对象返回到过去的位置。
这是两个对象和组
var rect1 = new fabric.Rect(
{
id: 1, left: 10, top: 10, width: 100, height: 50, angle: 45, fill: 'red'
});
var tria1 = new fabric.Triangle({
id: 2, left: 200, top: 200, width: 100, height: 50, angle: 20, fill: 'yellow'
});
var objsGroup = new fabric.Group([rect1, tria1], {left: 100, top: 100});
这里整个小提琴。我通过提醒https://jsfiddle.net/5js60oec/
分隔所有步骤更新
有下一个问题。让我们假设现有的对象组在删除之前进行一些移动和旋转。然后我必须在旋转和移动之前将其恢复到点。多数民众赞成,我认为是主要问题。
行动
objsGroup.top = 200;
objsGroup.left = 200;
canvas.renderAll();
alert('4');
history.push(canvas.getActiveGroup());
objsGroup.setAngle(45);
canvas.renderAll();
这里有完整的小提琴手:https://jsfiddle.net/nppaLetn/1/
答案 0 :(得分:0)
例如,我正在删除画布中最后添加的路径,如下所示
var lastItemIndex = (fabricCanvas.getObjects().length - 1);
var item = fabricCanvas.item(lastItemIndex);
if(item.get('type') === 'path') {
fabricCanvas.remove(item);
fabricCanvas.renderAll();
}
这可以帮助你完成你的probs!我想是的。