2013-04-02 2 views
1

Я пытаюсь импортировать несколько файлов svg и после модификации, сохраняя json в базе данных. Я пытался использоватьСохранение JSON в холсте с помощью fabric.js

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

но это не сработает для нескольких файлов, оно работает только для первого файла. Я пытаюсь указать каждый URL-адрес файла, но не могу понять, как это можно сделать. любое решение, пожалуйста?

заранее спасибо

ответ

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

Вы также можете установить obj.sourcePath при загрузке svg, как это.

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

Надеюсь, что это поможет!

+0

спасибо! Я сделал это раньше, но было не так, и я сделал это правильно, и все в порядке ............. – rafi