javascript - 使用 fabric.js 在 Canvas 中保存 JSON

标签 javascript json html canvas fabricjs

我正在尝试导入多个 svg 文件并在修改后将 json 保存到数据库。我试过用

    canvas.item(0).sourcePath = '/URL/FILE.svg';
    JSON.stringify(canvas.toDatalessJSON());

但这不适用于多个文件,它只适用于第一个文件。我正在尝试指定每个文件的 url,但无法理解如何做到这一点。请问有什么解决办法吗?

提前致谢

最佳答案

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

您也可以像这样在加载 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();
    });

希望对您有所帮助!

关于javascript - 使用 fabric.js 在 Canvas 中保存 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15763057/

相关文章:

javascript - 删除字符串开头和结尾的方括号

javascript - Google ReCaptcha 未捕获的 DOMException : Blocked a frame with origin "https://www.google.com"

javascript - Next-Image Relative Paths 有效,但在抓取时指向 404 页

javascript - 如何使幻灯片在鼠标悬停时暂停并添加带有幻灯片进度的选项卡并修复超时()

javascript - 使用范围输入触发 jquery 的最佳方法

javascript - 如何有效地用许多静态键/值对填充 Javascript 对象文字?

python - 在 Python 中以特定格式从嵌套 JSON 对象中提取数据

java - Eclipse 无法识别导入的 json.jar 文件

jquery - JavaScript : How can i get a key value inside an array of a JSON object

html - 试图将 svg 圆圈置于 div 的中心