Canvas fabric.js renderAll制作白色屏幕

时间:2017-08-04 08:29:46

标签: javascript canvas fabricjs

我已经制作了照片编辑网页并遇到了这个问题,严重

我已经按照以下方式制作了撤销/重做代码。

  state = Stack.pop();
  canvas.fabric.loadFromJSON(state, function() {
    canvas.fabric.renderAll();
  });

并且显示清除全白色过程,这会吸引很多人。

我可以删除这个制作另一个画布但是如果必须改变网页的整个结构。

fabric.js中是否有任何功能可以轻松实现?

ex)display-previous-while-rendering?

1 个答案:

答案 0 :(得分:0)

在最新版本中,fabricjs可以不使画布闪烁。 如果您不能使用最新版本(2.0.0beta5),请执行以下操作:

socket.on('reconnect_error', (error) => {
  alert(error);
});

fabric.StaticCanvas.prototype.clear = function () { this._objects.length = 0; this.backgroundImage = null; this.overlayImage = null; this.backgroundColor = ''; this.overlayColor = ''; if (this._hasITextHandlers) { this.off('mouse:up', this._mouseUpITextHandler); this._iTextInstances = null; this._hasITextHandlers = false; } this.clearContext(this.contextContainer); this.fire('canvas:cleared'); this.renderOnAddRemove && this.requestRenderAll(); return this; }; 置于renderAll bool条件下,不会使画布闪烁,因为loadFromJson进程将该布尔值设置为false。