收藏
回答

wx.canvasGetImageData 真机和开发环境调试返回数据不同

框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 wx.canvasGetImageData 微信iOS客户端 iOS 6.6.5 1.9.9

真机上测试和开发工具里返回的数据不同

开发工具:


真机测试:




代码:


wx.canvasGetImageData({
  canvasId: 'mycanvas',
  x: 0,
  y: 0,
  width: 300,
  height: 300,
  success(res) {
    var vdata = 0;
    for (var i in res.data) {
      if (res.data[i] > 0 && res.data[i] != 255) {
        vdata = vdata + 1;
      }
    }
    console.log(vdata)
 
  }, fail(res) {
 
    console.log(res)
 
  }
})


回答关注问题邀请回答
收藏

9 个回答

  • 黄思程
    黄思程
    2018-03-23

    是在draw回调里调用的吗

    2018-03-23
    有用
    回复
  • 黄思程
    黄思程
    2018-03-21

    数据源一样的吗?

    2018-03-21
    有用
    回复
  • 黄思程
    黄思程
    2018-03-21

    用什么数据渲染到canvas?

    2018-03-21
    有用
    回复
  • 黄思程
    黄思程
    2018-03-21

    canvas 大小都是300*300吗

    2018-03-21
    有用
    回复
  • Jerry Yang
    Jerry Yang
    2018-03-21

    我只是统计的大于0 且不等于255的值,发现测试环境和手机环境里,打印出的个数不同

    2018-03-21
    有用 1
    回复 2
    • peter
      peter
      2019-11-07
      我也遇到了这个问题,最后是怎么解决的呢
      2019-11-07
      回复
    • arokie
      arokie
      2022-05-24
      我现在遇到在draw回调里面,获取的数据,总是会丢失一部分,比较明显的表现在安卓手机上
      2022-05-24
      回复
  • Jerry Yang
    Jerry Yang
    2018-03-21

    没人遇到这个问题吗?

    2018-03-21
    有用 1
    回复
  • arokie
    arokie
    2022-05-24

    我使用qrcode绘制了二维码,在draw的时候延迟了1000ms,获取imageData ,实际数据偶尔会丢失一部分,但是canvas里面显示的是完整的,集中表现在安卓手机上,请问下有解决办法吗

    2022-05-24
    有用
    回复
  • Jerry Yang
    Jerry Yang
    2018-03-22

    ios上转了一下就好了,谢谢,但是在安卓5.1上安装了最新版微信,

    wx.canvasGetImageData方法会报错(测试环境中和ios微信中均无错)


    2018-03-22
    有用
    回复
  • Jerry Yang
    Jerry Yang
    2018-03-21

    对,都是300*300

    2018-03-21
    有用
    回复
登录 后发表内容