【问题标题】:Destroying Canvas破坏画布
【发布时间】:2013-05-29 05:31:49
【问题描述】:

我正在尝试完成撤消/重做。我正在使用 loadFromJSON(...) 从存储在数组中的画布状态重新构建画布。基本上,我的想法是破坏现有的画布并重新构建画布。这是我的代码。

    // TODO: How to destroy existing canvas?

    canvas = new fabric.Canvas('canvas', {
        containerClass : 'myCanvasContainer',           
    });

    canvas.loadFromJSON(history[historyStep]);      

此代码在现有画布之上添加另一个画布。但是,我需要一种方法来销毁画布并从我的 JSON 数据构建全新的画布(用新画布替换旧画布)。

请告知是否可行或我有任何其他选择。

【问题讨论】:

    标签: canvas html5-canvas undo fabricjs redo


    【解决方案1】:

    我相信canvas.dispose() 就是您要找的。​​p>

    在这里阅读更多: http://fabricjs.com/docs/fabric.StaticCanvas.html#dispose

    【讨论】:

      【解决方案2】:

      您可以使用 canvas.clear() 函数。

      【讨论】:

        【解决方案3】:

        这个问题很晚了,但我刚刚找到了this article,它可以为你工作。仅此而已:

        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();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-16
          • 2020-08-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-29
          相关资源
          最近更新 更多