小程序
小游戏
企业微信
微信支付
扫描小程序码分享
请问 wx.canvasGetImageData获取data的值全是0,如何解决?
代码片段:https://developers.weixin.qq.com/s/ZuSWWRm47vn3
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我碰到的问题是对canvas设置了scale,然后 getImageData 的参数也要乘以一个scale
const dpr = wx.getSystemInfoSync().pixelRatio canvas.width = res[0].width * dpr canvas.height = res[0].height * dpr ctx.scale(dpr, dpr) var imagedata = ctx.getImageData(x*dpr , y*dpr , width*dpr , height*dpr );
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我这边遇到这个问题之后的解决方法:
我没有对canvas进行初始化操作(需要将整个画布,填充背景为白色的矩形):
https://developers.weixin.qq.com/s/6KWIExmo7JvT
加了一个ctx.draw() 和 setTimeout 后上面的可以得到非零数据
已解决
参考:https://developers.weixin.qq.com/community/develop/doc/000c22a004cf308fde96c52815b800?_at=1612433967781
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我碰到的问题是对canvas设置了scale,然后 getImageData 的参数也要乘以一个scale
const dpr = wx.getSystemInfoSync().pixelRatio canvas.width = res[0].width * dpr canvas.height = res[0].height * dpr ctx.scale(dpr, dpr) var imagedata = ctx.getImageData(x*dpr , y*dpr , width*dpr , height*dpr );
我这边遇到这个问题之后的解决方法:
我没有对canvas进行初始化操作(需要将整个画布,填充背景为白色的矩形):
https://developers.weixin.qq.com/s/6KWIExmo7JvT
加了一个ctx.draw() 和 setTimeout 后上面的可以得到非零数据
已解决
参考:https://developers.weixin.qq.com/community/develop/doc/000c22a004cf308fde96c52815b800?_at=1612433967781