2016-03-21 3 views
0

Я пытаюсь добавить SVG к объекту canvas с FabricJS, а затем экспортировать его в образ url данных, чтобы пользователь мог сохранить изображение, стрелка отображается в холст, но когда я вызываю метод toDataURL и проверяю изображение, это просто пустое изображение. Я также проверил метод toSVG(), чтобы проверить, есть ли провал, но он не находится в экспортированном SVG.FabricJS: Добавление SVG в холст, но невидимый при экспорте

Я продемонстрировал это fiddle.

В примере стрелка отображается при нажатии кнопки и я вызываю canvas.toDataURL() и проверял ее в своем браузере и показывает пустое изображение. Вызов canvas.toSVG() также возвращает SVG без стрелки svg, как показано на скрипке.

Может ли кто-нибудь указать мне в правильном направлении?

Заранее благодарен!

ответ

2

Вам необходимо поместить вызовы в обратном вызове, иначе они произойдут до того, как данные будут загружены, например.

fabric.loadSVGFromString(svgString, function(results, options) { 
    var arrow = results[0]; 
    canvas.add(arrow); 
    console.log(canvas.toDataURL()); 
    console.log(canvas.toSVG()); 
    }); 

Или as a fiddle

+0

Спасибо! Это работает для меня. –

Смежные вопросы