2017-01-19 8 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

問題が正常に動作しますJSON.stringify(canvas);canvas.toJSON();

です。

+0

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

関連する問題