请告诉我是否有可能或者我有其他的选择。
我正在尝试完成撤销/重做。我使用loadFromJSON(…)从我存储在数组中的画布状态重新构建画布。基本上,我的想法是破坏现有的画布,重建画布。这是我的代码。
// TODO: How to destroy existing canvas?
canvas = new fabric.Canvas('canvas', {
containerClass : 'myCanvasContainer',
});
canvas.loadFromJSON(history[historyStep]);
此代码在现有画布上添加另一个画布。然而,我需要一种方法来破坏画布,并从我的JSON数据构建全新的画布(用新的画布替换旧的画布)。
我相信canvas.dispose()
就是你要找的。
在这里阅读更多内容:http://fabricjs.com/docs/fabric.StaticCanvas.html处理
可以使用canvas.clear()函数
这个问题很晚了,但我刚刚找到了这篇文章,可以为你工作。
var _Canvas = null;
[...]
$('#canvasid').hide();
if (_Canvas)
_Canvas.clear();
_Canvas = null;
$('#canvasid').siblings('.upper-canvas').remove();
$('#canvasid').parent('.canvas-container').before($('#canvasid'));
$('.canvas-container').remove();