收藏
回答

drawImage Api的文档错误和在部分苹果手机上的异常表现

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug drawImage 客户端 6.7 2.3

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


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


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



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

最后一次编辑于  2018-09-30  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • Rui.L
    Rui.L
    2018-09-30

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

    2018-09-30
    赞同
    回复 1
    • 巴斯光年
      巴斯光年
      2018-09-30

      我找到原因了,有的用户微信版本太低了

      2018-09-30
      赞同
      回复