使用uni.canvasGetImageData获取像素数据后 使用uni.canvasPutImageData不生效
从控制台看到已经获取到像素对象,也有内容. uni.canvasPutImageData走的是success方法,但是图像渲染不出来
const data = ref("");
const start = () => {
uni.chooseImage({
success: function(res) {
ctx.drawImage(res.tempFilePaths[0], 0, 0, 100, 100)
ctx.draw()
uni.canvasGetImageData({
canvasId: "test",
x: 0,
y: 0,
width: 100,
height: 100,
success(r) {
data.value = r.data
}
})
}
})
}
const go = () => {
console.log(data.value);
uni.canvasPutImageData({
canvasId: "test",
x: 100,
y: 0,
width: 100,
height:100 ,
data: data.value,
success() {
console.log("success:");
// console.log("data:" + res.data);
}
})
}
2 个回复
Fudges (作者)
运行官方的示例也渲染不出来!
Fudges (作者)
已解决 . 其实不是绘制不出来,是读取时候没有读到正确的像素. 获取的时候需要在ctx.draw()的第二个回调中进行获取像素.
官方示例看不出来是因为只有一个像素点,太小了,多复制几份数据就能看出来.