我认为是接口的一个BUG!canvas的canvasGetImageData方法,在开发环境和小程序真机,返回的数组不一致!


我的场景是canvas画一个二维码,然后识别二维码。结果在开发环境可以正确识别结果,但是小程序真机报错。


通过多次检查,发现小程序真机的canvasGetImageData方法,返回的数组和开发环境是不一致的。


通过简单的像素测试,代码如下:

wx.canvasGetImageData({

canvasId: 'target',

x: 0,

y: 0,

width: 300,

height: 300,

success: function (res) {

    for (var i = 0 + 300 * 3 * 105; i < 3 * 300 + 300 * 3 * 105; i++)

    res.data[i] = 99;

。。。。


我强制修改像素,在开发环境,修改的线条在图片上方,而小程序真机线条在图像下方。明显矩阵是倒置的。

展开全部
收起
6回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 钱霖

    19人对此回答表示赞同

    wechatide://minicode/CTBbQ6mH6nYZ

    展开
    19
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Samantha栗子

    15人对此回答表示赞同

    麻烦给个相关的代码片段,我们定位下问题

    展开
    15
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 赵凯歌

    14人对此回答表示赞同

    我也遇到这个问题,IOS用getImageData方法拿到的数组,转成base64后,显示的图片是翻转倒置的,安卓和模拟器都是好的,不知道什么原因,很无奈。

    展开
    14
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 许下课

    11人对此回答表示赞同

    @辰:请问这个问题解决了吗?

    展开
    11
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Sachin

    9人对此回答表示赞同

    在微信平台下开发小程序,接口输出的数据应该一致,如果是ios不一致,也应该由基础库去实现

    展开
    9
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • hunter猎手

    7人对此回答表示赞同

    +1同样的问题:wx.canvasGetImageData获得图像数据顺序在模拟器和ios小程序真机不一致

    展开
    7
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部