4464关注14961浏览
我认为是接口的一个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;
。。。。
我强制修改像素,在开发环境,修改的线条在图片上方,而小程序真机线条在图像下方。明显矩阵是倒置的。
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
钱霖
19人对此回答表示赞同
wechatide://minicode/CTBbQ6mH6nYZ
展开190回复分享发布于 6年前评论(0)
收起评论
-
Samantha栗子
15人对此回答表示赞同
麻烦给个相关的代码片段,我们定位下问题
展开150回复分享发布于 6年前评论(0)
收起评论
-
赵凯歌
14人对此回答表示赞同
我也遇到这个问题,IOS用getImageData方法拿到的数组,转成base64后,显示的图片是翻转
倒置的,安卓和模拟器都是好的,不知道什么原因,很无奈。 展开140回复分享发布于 6年前评论(0)
收起评论
-
许下课
11人对此回答表示赞同
@辰:请问这个问题解决了吗?
展开110回复分享发布于 6年前评论(0)
收起评论
-
Sachin
9人对此回答表示赞同
在微信平台下开发小程序,接口输出的数据应该一致,如果是ios不一致,也应该由基础库去实现
展开90回复分享发布于 6年前评论(0)
收起评论
-
hunter猎手
7人对此回答表示赞同
+1同样的问题:wx.canvasGetImageData获得图像数据顺序在模拟器和ios小程序真机不一致
展开70回复分享发布于 6年前评论(0)
收起评论