2017-01-19 22 views
0

我正在加载SVG,转换为路径组,克隆数次,然后保存为JSON。在从JSON恢复时,路径组不会出现在画布上,但结构对象在那里(边框显示在选区上),但路径组的阵列为[0]。任何想法为什么发生这种情况?在下面的gif中,我使用了撤销/重做方法,我撤消了,当我重做路径组时,但织物对象仍然存在。请注意:我已经发布了以下关键代码,我无法发布我的完整源代码。我希望有人能够根据所提供的信息了解这里发生的事情。fabric.js - 克隆的路径组无法从JSON呈现

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

回答

0

问题是与canvas.toJSON();

JSON.stringify(canvas);工作正常。

+0

https://github.com/kangax/fabric.js/issues/3635 –