求解。。这个问题卡了我两天了。。还挺紧急的
wx.canvasGetImageData获取到的像素信息都是0- 当前 Bug 的表现(可附上截图) 我做的是个可以拍照完了拿照片像素信息的功能。现在完成了拍照并且绘制在canvas上的功能,但是在canvas上使用canvasGetImageData来提取像素信息时,打印出来的结果都是0。照片正常绘制了出来,也尝试过延迟了5秒左右再获取像素信息,结果也还是0,但是有时候会能获取到不是0的值 - 预期表现 应该可以获取到canvas上图片的像素信息 - 复现路径 流程是这样的 在一个页面里调用相机的takePhoto方法,获得了照片地址之后跳转到了新页面,在新页面的onLoad方法或者onShow方法中,根据传过来的照片地址调用drawImage方法在新页面的canvas标签中绘图,draw方法完成的回调用canvasGetImageData方法来获取,此时获取到的data全都是0。(新页面中相片的绘制正常显示,并且canvasId等值都是有值的) - 提供一个最简复现 Demo [代码]var[代码] [代码]that = [代码][代码]this[代码][代码]const ctx = wx.createCanvasContext(canvasId)[代码] [代码]ctx.drawImage(options.imgPath, 0, 0, 100, 100)[代码] [代码]ctx.draw([代码][代码]false[代码][代码], () => {[代码][代码] [代码][代码]wx.canvasGetImageData({[代码][代码] [代码][代码]canvasId: canvasId,[代码][代码] [代码][代码]x: 0,[代码][代码] [代码][代码]y: 0,[代码][代码] [代码][代码]width: 100,[代码][代码] [代码][代码]height: 100,[代码][代码] [代码][代码]success: (res) => {[代码][代码] [代码][代码]console.log(res.data[0] + [代码][代码]' '[代码] [代码]+ res.data[1] + [代码][代码]' '[代码] [代码]+ res.data[2])[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: res => {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]}, that)[代码][代码]})[代码]
2019-05-31