为什么我把canvas先插入一个图片使用的方法是:
ctx.drawImage( '/image/benchi.png', 0, 0, 550, 306, 0, 0, system.screenWidth, 300 );
ctx.draw();
图片能在canvas正常出现,但是我想使用wx.canvasGetImageData获取data然后使用滤镜效果,但是得到的数据全是0;
代码如下:
wx.canvasGetImageData({
canvasId: 'my-canvas',
x: 50,
y: 20,
width: 50,
height: 50,
success( res ){
console.log( res.data )
}
})
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
ctx.draw() 是异步执行的。还没画完,就执行了wx.canvasGetImageData。代码改为:
ctx.draw(false, () => {
wx.canvasGetImageData({...}
})
得到的数据就是你想要的了。