Javascript FabricJS:将SVG添加到画布,但在导出时不可见
我试图使用FabricJS将SVG添加到画布对象中,然后将其导出到数据url图像,以便用户保存图像,箭头显示在画布中,但当我调用toDataURL方法并检查图像时,它只是一个空图像。我还检查了toSVG()方法,以检查sag是否存在,但它不在导出的SVG中 我创建了一个示例来演示这一点 在本例中,单击按钮时会显示箭头,我调用Javascript FabricJS:将SVG添加到画布,但在导出时不可见,javascript,canvas,svg,fabricjs,Javascript,Canvas,Svg,Fabricjs,我试图使用FabricJS将SVG添加到画布对象中,然后将其导出到数据url图像,以便用户保存图像,箭头显示在画布中,但当我调用toDataURL方法并检查图像时,它只是一个空图像。我还检查了toSVG()方法,以检查sag是否存在,但它不在导出的SVG中 我创建了一个示例来演示这一点 在本例中,单击按钮时会显示箭头,我调用canvas.toDataURL(),并在浏览器中选中它,显示一个空图像。调用canvas.toSVG()也会返回一个没有箭头SVG的SVG,如fiddle中所示 谁能给我指
canvas.toDataURL()
,并在浏览器中选中它,显示一个空图像。调用canvas.toSVG()
也会返回一个没有箭头SVG的SVG,如fiddle中所示
谁能给我指一下正确的方向吗
提前谢谢 您需要将调用放入回调中,否则它们会在加载数据之前发生,例如
fabric.loadSVGFromString(svgString, function(results, options) {
var arrow = results[0];
canvas.add(arrow);
console.log(canvas.toDataURL());
console.log(canvas.toSVG());
});
或者您需要将调用放入回调中,否则调用会在加载数据之前发生,例如
fabric.loadSVGFromString(svgString, function(results, options) {
var arrow = results[0];
canvas.add(arrow);
console.log(canvas.toDataURL());
console.log(canvas.toSVG());
});
或