开发文档的开头是方法定义是这样的
CanvasContext.drawImage(string imageResource, number dx, number dy, number dWidth, number dHeight, number sx, number sy, number sWidth, number sHeight)
到后面:
示例代码
有三个版本的写法:
drawImage(dx, dy)
drawImage(dx, dy, dWidth, dHeight)
drawImage(sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持
两个地方 对应不起来啊,d代表目标 ,s代表源图像吧, 上面都写反了。而且第一个参数 后面没有了。这个大多数开发者能理解。
现在头疼的是部分苹果手机的drawImage(sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 这个api绘图异常:
具体问题是 :
dx,dx参数 没有效果 ,无论怎么传参,都是从0,0开始
另外就是 dWidth和dHeight参数无效,无论怎么传参都是图像原来的尺寸。
发现异常的iphone6s 手机型号如下:
显示正常的手机的型号如下:
微信版本不一样,我还没试,如果版本更新了,还不行,我就跪了...
我以前遇到过这个问题,最终结果是放弃canvas,改用服务器生成图片方案。而且,安卓和苹果的bug方式是不同的,很有意思,唯一的相同点,就是和模拟器表现都不一致。
我找到原因了,有的用户微信版本太低了