框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | canvas drawImage | 微信iOS客户端 | 7.0.14 | 2.12.0 |
使用新版canvas2D 绘图 drawImage方法,ios端绘图不能从(0,0)点开始画图。
测试环境: iPad mini4 系统 ios13.5.1 微信版本 7.0.14
测试用图
演示效果:
上方灰色区域为 新版canvas接口,
下方为旧版接口,实现同样功能。
正常的情况 应该是从(0,0)点开始绘图。
代码片段
https://developers.weixin.qq.com/s/O5BsQ6m472jx
说明:点击灰色区域上传图片,请使用测试用图
关键代码截图
网友回复
纸玫瑰:
const canvas = res[0].node
const ctx = canvas.getContext('2d')
const width = res[0].width
const dpr = wx.getSystemInfoSync().pixelRatio
canvas.width = width * dpr
canvas.height = height * dpr
ctx.scale(dpr, dpr)
1.抓取到的canvas 为PX ,要*像素比
2.ctx 要使用scale(dpr,dpr),进行缩放到正常大小
3.感觉你的imgw 和imgh 要 * dpr
👇 -------如果感觉回答有用,请点击有用按钮,让答案帮助更多的人