fabric.js - 未从JSON呈现的克隆路径组

时间:2017-01-19 11:15:47

标签: json svg fabricjs

我正在加载SVG,转换为路径组,多次克隆然后保存到JSON。在从JSON恢复时,路径组不会出现在画布上,尽管布料对象在那里(选择时显示边界框),但路径组的数组为[0]。知道为什么会这样吗?在下面的gif中我使用了undo / redo方法,我撤消了,当我重做时,路径组已经消失但是结构对象仍在那里。请注意:我已经发布了以下密钥代码,我无法发布完整的源代码。我希望有人能根据提供的信息弄清楚这里发生了什么。

enter image description here

// Load SVG and convert to path group.
fabric.loadSVGFromURL(url, function(objects, options){
   group = fabric.util.groupSVGElements(objects, options);
   canvas.add(group);
   canvas.renderAll();
}); 

// Clone group and add to canvas
group.clone(function(c: any) {
    c.add(group);
});

// Save canvas to JSON
var obj = canvas.toJSON();

// Clear canvas and load JSON
canvas.clear();
canvas.loadFromDatalessJSON(obj);
canvas.renderAll();

1 个答案:

答案 0 :(得分:0)

问题在于canvas.toJSON();

JSON.stringify(canvas);效果很好。