drawImage Api的文档错误和在部分苹果手机上的异常表现
发布于 5 年前 作者 yinjie 14339 次浏览 来自 问答

开发文档的开头是方法定义是这样的

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 手机型号如下:

显示正常的手机的型号如下:

微信版本不一样,我还没试,如果版本更新了,还不行,我就跪了…

1 回复

我以前遇到过这个问题,最终结果是放弃canvas,改用服务器生成图片方案。而且,安卓和苹果的bug方式是不同的,很有意思,唯一的相同点,就是和模拟器表现都不一致。

回到顶部