FabricJs:当 canvas 从 db 重新加载时,部分分组对象被裁剪

FabricJs: parts of grouped objects are being cropped when canvas is reloaded from db

我遇到一个问题,在重新加载组对象后,它被裁剪并且对象的某些部分没有出现。

所以这是将多个对象组合在一起后的对象...

在我保存数据并重新加载后,相同的对象加载如下...

由于这段代码是我很久以前写的,而且相当复杂,所以我不确定此时要分享什么代码。我只是在寻找有关此问题可能发生位置的总体方向。

基本上,这是我保存到数据库中的 json 数据...

var json = JSON.stringify(canvas.toDatalessJSON(['id', 'groupId', 'componentType', 'diametre', 'objectHeight', 'resizable', 'locked', 'view', 'info', 'pathName','color', 'shape', 'opacity', 'system', 'svgUid', 'format', 'filters', 'tags']));

这就是我加载它的方式...

canvas.loadFromDatalessJSON( this.props.canvasJson, canvas.renderAll.bind(canvas), function(o, object) 

如果您能提供有关在哪里查找问题的任何帮助,我们将不胜感激。 提前致谢。

终于找到问题了

我需要将 'objectCaching' 作为 属性 添加到 canvas.toDatalessJSON() 以便在重新加载 canvas 时,对象将 objectCaching 设置为 false。

var json = JSON.stringify(canvas.toDatalessJSON(['id', 'groupId', 'componentType', 'diametre', 'objectHeight', 'resizable', 'locked', 'view', 'info', 'pathName','color', 'shape', 'opacity', 'system', 'svgUid', 'format', 'filters', 'tags', 'objectCaching']));