Кажется, есть проблема при попытке сериализации холста, содержащего элементы SVG.
Я создал следующую скрипку:
JSFiddle
Изначально я загружаю SVG из строки. Это работает правильно, содержимое отображается.
fabric.loadSVGFromString(svgString, function(objects, options) {
var obj = fabric.util.groupSVGElements(objects, options);
...
}
Я добавил кнопку, которая экспортирует холст в JSON, и он воссоздает исходный контент, используя строку JSON.
var json = JSON.stringify(canvas);
canvas.loadFromJSON(json);
Если кнопка нажата, элемент SVG больше не отображается корректно, кажется, что начальный элемент разбит на несколько подэлементов, которые расположены неправильно, а также изменился их размер.
По какой-то причине контент очень маленький, но его можно увидеть лучше, если размер элемента изменяется
Эта проблема не возникает при использовании «более простого» SVG, например SVG, который содержит только один символ.
Я не уверен, в чем проблема, содержит ли строка SVG некоторые элементы, которые не поддерживаются Fabric, но тогда почему она отображается правильно в первый раз?
Спасибо!