raf*_*afi 1 javascript html5 json canvas fabricjs
我正在尝试导入多个svg文件,并在修改后将json保存到数据库.我试过用
canvas.item(0).sourcePath = '/URL/FILE.svg';
JSON.stringify(canvas.toDatalessJSON());
Run Code Online (Sandbox Code Playgroud)
但这不适用于多个文件,它仅适用于第一个文件.我试图指定每个文件网址,但无法理解如何做到这一点.有解决方案吗?
提前致谢
小智 5
canvas.item(0) - 获取第一个对象.canvas.item(1) - 获取第二个对象,依此类推......
如果您不知道对象的总量,则可以使用canvas.forEachObject选项.
canvas.forEachObject(function(obj){
obj.sourcePath = '/URL/FILE.svg';
console.log(obj.sourcePath)
});
JSON.stringify(canvas.toDatalessJSON());
Run Code Online (Sandbox Code Playgroud)
你也可以在加载像这样的svg时设置obj.sourcePath.
fabric.loadSVGFromString(svg, function(objects, options) {
var obj = fabric.util.groupSVGElements(objects, options);
obj.sourcePath = '/URL/FILE.svg';
canvas.add(obj);
canvas.renderAll();
});
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!