Konva 将形状转换为 DataUrl() 导致空白图像
Konva converting shapes toDataUrl() results in blank image
我的 Konva 舞台只有几层,当我尝试将所有舞台转换为图像时 - 结果正常,当我尝试转换图层时 - 结果正常。但是当我尝试转换形状,如文本、图像、Rekt toDataUrl() 时,它会给我带有形状大小的空白透明图像。
这里是 JSFiddle
<div id="container"></div>
<div id="image">
<img id="imageData" src="https://github.com/rafaesc/vue-konva/raw/master/vue-konva.png" width="100">
</div>
const stage = new Konva.Stage({
container: 'container',
width:400,
height: 200
});
const layer = new Konva.Layer();
stage.add(layer);
const text = new Konva.Text({
x: 100,
y: 100,
width: 200,
height: 40,
fill: "gray",
stroke: "gray",
align: 'center',
verticalAlign: 'middle',
text: 'Text',
fontSize: 24
});
layer.add(text).draw();
var textToImg = text.toDataURL();
document.getElementById('imageData').src=textToImg;
有什么可能的原因或解决办法吗?谢谢
默认行为将在下一个 Konva
版本中修复,以自动调整位置。现在,你需要设置 x
and y
and toDataURL
config:
var textToImg = text.toDataURL({
x: text.x(),
y: text.y(),
});
我的 Konva 舞台只有几层,当我尝试将所有舞台转换为图像时 - 结果正常,当我尝试转换图层时 - 结果正常。但是当我尝试转换形状,如文本、图像、Rekt toDataUrl() 时,它会给我带有形状大小的空白透明图像。 这里是 JSFiddle
<div id="container"></div>
<div id="image">
<img id="imageData" src="https://github.com/rafaesc/vue-konva/raw/master/vue-konva.png" width="100">
</div>
const stage = new Konva.Stage({
container: 'container',
width:400,
height: 200
});
const layer = new Konva.Layer();
stage.add(layer);
const text = new Konva.Text({
x: 100,
y: 100,
width: 200,
height: 40,
fill: "gray",
stroke: "gray",
align: 'center',
verticalAlign: 'middle',
text: 'Text',
fontSize: 24
});
layer.add(text).draw();
var textToImg = text.toDataURL();
document.getElementById('imageData').src=textToImg;
有什么可能的原因或解决办法吗?谢谢
默认行为将在下一个 Konva
版本中修复,以自动调整位置。现在,你需要设置 x
and y
and toDataURL
config:
var textToImg = text.toDataURL({
x: text.x(),
y: text.y(),
});