收藏
回答

Canvas 在真机上 canvasPutImageData 的报错

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 2.6.6

- 当前 Bug 的表现(可附上截图)

在微信开发者工具中使用canvasPutImageData是能够正常使用的

到了真机模拟后就会报canvasPutImageData: invalid data format

- 预期表现


- 复现路径


- 提供一个最简复现 Demo




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

4 个回答

  • 禾店科技
    禾店科技
    2021-05-12

    width和height都必须正整数

    2021-05-12
    有用 2
    回复
  • 师傅
    师傅
    2019-05-04

    找到问题了X、Y、width、height的值不能带有小数点,只要带有小数点就会报错(canvasPutImageData: invalid data format)可以使用Math.ceil()去除小数点

    wx.canvasPutImageData({
      canvasId: 'myCanvas',
      x: 0,
      y: 0,
      width: 200,
      height:150,
      data,
      success(res) {}
    })


    2019-05-04
    有用 1
    回复 1
    • 陶礼Ivan
      陶礼Ivan
      2019-12-16
      确实是这个问题,我也遇到了, 电脑上开发工具里没问题,真机死活调不通,后来发现height是通过计算得出的,有小数点,去掉小数点就可以了,width和height都必须正整数
      2019-12-16
      回复
  • 芦苇先生
    芦苇先生
    2021-06-09

    还有一种情况是:

    当你从画布上取的大小和再画上去的大小不一致时也会报invaild data format错误,个人认为是通过图片路径画上去的可以在裁剪步骤进行缩放,但像素数组操作没有进行缩放这一步

    2021-06-09
    有用
    回复
  • 是小白啊
    是小白啊
    2019-04-16

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-04-16
    有用
    回复 10
    • 2019-04-16

      测试机型 Sony XZ (微信版本 7.0.3 系统版本 android 8.0.0)iphone6 Plus (微信版本7.0.3  系统版本10.0.1) 代码片段(https://developers.weixin.qq.com/s/B1CI6Fmg7d7c

      2019-04-16
      回复
    • 墨染绘手
      墨染绘手
      2019-04-16

      我也遇到了相同的问题 机型小米6,微信版本7.0.3,系统版本 Android8.0.0

      2019-04-16
      回复
    • 是小白啊
      是小白啊
      2019-04-16回复

      报错信息是?这边操作没复现

      2019-04-16
      回复
    • 2019-04-16回复是小白啊

      代码片段 的工具上和实机上的log 实机上直接回调都没有执行

      原问题的情况则是会调用到,但是报错了


      2019-04-16
      回复
    • 2019-04-19回复是小白啊

      想问一下后续怎么样了

      2019-04-19
      回复
    查看更多(5)
登录 后发表内容