我正在尝试使用fabric.js API将SVG文件导入我的画布。
渲染有效但当我尝试导出(toSVG())我的画布时,我得到一个空输出。
以下是我将SVG文件添加到画布的方式(渲染工作):
fabric.loadSVGFromURL('svg/1000.svg', function(objects, options) {
//group elements
var obj = fabric.util.groupSVGElements(objects, options);
// put object on the canvas
canvas.add(obj).renderAll();
});
console.log(canvas.toSVG());
以下是我得到的输出:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
使用Fabric.js 1.4.0创建
欢迎任何帮助。
答案 0 :(得分:2)
fabricSVGFromURL
是异步的。因此,当您致电canvas.toSVG()
时,尚未向画布添加任何内容。
您需要在回调中调用canvas.toSVG()
。