Canvas Konva将形状转换为数据URL()会产生空白图像

Canvas Konva将形状转换为数据URL()会产生空白图像,canvas,konvajs,Canvas,Konvajs,我有几层Konva Stage,当我尝试转换为图像时,所有阶段-结果正常,当我尝试转换层-结果正常。但当我尝试转换形状时,如文本、图像、Rekt toDataUrl(),它会给出带有形状大小的空白透明图像。 这是 const stage=新Konva.stage({ 容器:'容器', 宽度:400, 身高:200 }); const layer=新的Konva.layer(); 阶段。添加(层); const text=新Konva.text({ x:100, y:100, 宽度:200, 身

我有几层Konva Stage,当我尝试转换为图像时,所有阶段-结果正常,当我尝试转换层-结果正常。但当我尝试转换形状时,如文本、图像、Rekt toDataUrl(),它会给出带有形状大小的空白透明图像。 这是


const stage=新Konva.stage({
容器:'容器',
宽度:400,
身高:200
});
const layer=新的Konva.layer();
阶段。添加(层);
const text=新Konva.text({
x:100,
y:100,
宽度:200,
身高:40,
填充:“灰色”,
笔画:“灰色”,
对齐:'居中',
垂直排列:'中间',
文本:“文本”,
字体大小:24
});
layer.add(text.draw();
var textToImg=text.toDataURL();
document.getElementById('imageData').src=textToImg;

有什么可能的原因或解决办法吗?谢谢

默认行为将在下一次
Konva
释放中修复,以自动调整位置。现在,您需要设置
x
y
toDataURL
配置:

var textToImg = text.toDataURL({
  x: text.x(),
  y: text.y(),
});

演示:

你能做个小演示吗?@lavrton是的,当然可以,JSfiddle补充道
var textToImg = text.toDataURL({
  x: text.x(),
  y: text.y(),
});