【发布时间】:2019-12-06 22:57:27
【问题描述】:
我只是想让我的用户使用 toDataUrl() 函数截屏。
但是,如果没有背景矩形,所有像素都是透明的,并且显示为黑色。
所以解决方法是动态添加一个矩形,生成图片,销毁矩形
saveImage(){
const stage=this.$parent.$refs.stage.getStage()
var stageRect = new Konva.Rect({
x:0,
y:0,
width: stage.attrs.width,
height: stage.attrs.height,
fill: 'green',
})
console.log(stage)
const backg=new Konva.Layer();
backg.add(stageRect)
stage.add(backg)
backg.setZIndex(0)
const dataURL = stage.toDataURL({ pixelRatio: 1, mimeType:"image/png" });
backg.destroy();
this.downloadURI(dataURL, 'stage.png');
},
它可以工作(矩形是在所有其他图层之前创建的)但是...我无法获得舞台的大小,我的意思是视口,因为用户可以缩放/缩小舞台...。 有什么想法吗?
【问题讨论】: