最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Saving JSON in canvas with fabric.js - Stack Overflow

programmeradmin0浏览0评论

I am trying to import multiple svg file and after modification saving the json to database. I have tried to use

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

but this won't work for multiple files, it works for the first file only. i am trying to specify every single file url but can't understand how this can be done. any solution please?

thanks in advance

I am trying to import multiple svg file and after modification saving the json to database. I have tried to use

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

but this won't work for multiple files, it works for the first file only. i am trying to specify every single file url but can't understand how this can be done. any solution please?

thanks in advance

Share Improve this question edited Apr 2, 2013 at 11:41 rafi asked Apr 2, 2013 at 11:34 rafirafi 1,5533 gold badges31 silver badges44 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

canvas.item(0) - gets the first object. canvas.item(1) - gets the second object and so on....

If you don't know the total amount of objects you can use the canvas.forEachObject option.

     canvas.forEachObject(function(obj){
        obj.sourcePath = '/URL/FILE.svg';
        console.log(obj.sourcePath)
     });

     JSON.stringify(canvas.toDatalessJSON());

You could also set obj.sourcePath when you load the svg like this.

    fabric.loadSVGFromString(svg, function(objects, options) {
      var obj = fabric.util.groupSVGElements(objects, options);
      obj.sourcePath = '/URL/FILE.svg';
      canvas.add(obj);
      canvas.renderAll();
    });

Hope that helps!

发布评论

评论列表(0)

  1. 暂无评论