小程序
小游戏
企业微信
微信支付
扫描小程序码分享
问题描述:
在安卓系统中(小米6X 安卓9 v8.0.1)中裁剪指定大小的图片,不需要修改canvas组件的stype width和height,只修改canvas对象的宽高即可生成目标图片。
但在苹果手机中(苹果X IOS 14.4.1 v8.0.2)中需要修改canvas组件的width和height,同时需要修改canvas对象的宽高,并且需要重新获取canvas对象,才可生成目标图片。
代码注释的情况下:
苹果:
安卓:
代码开启的情况下:
代码片段地址:https://developers.weixin.qq.com/s/8HaB9cmW7bpq
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
没苹果设备,实际你打印一下高宽看看,不过我认为应该和pixelRatio有关,画布的大小你用代码转换控制好应该就行,还有你代码片段里面用上了img.onload,之前我也发过一贴,这函数真机环境有问题,保险就用getImageInfo,还有获取对象还是用官方写法.exec取res[0].node吧
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
没苹果设备,实际你打印一下高宽看看,不过我认为应该和pixelRatio有关,画布的大小你用代码转换控制好应该就行,还有你代码片段里面用上了img.onload,之前我也发过一贴,这函数真机环境有问题,保险就用getImageInfo,还有获取对象还是用官方写法.exec取res[0].node吧
1、刚才测试将canvas宽高乘以pixelRatio,在苹果手机上还是获取不到想要的效果,与原来一样。画布生成临时地址,canvasToTempFilePath默认取得的是canvas上的整个数据。
代码片段地址:https://developers.weixin.qq.com/s/woWqQcmj7PpS
2、测试将img.onload换成getImageInfo,getImageInfo的返回值如下:
将返回值用在ctx.drawImage中第一个参数,会报错,将返回值的path用在第一个参数上也会报错。不知道drawImage第一个参数如果放getImageInfo的值放哪个数据。
3、已修改在exec中获取canvas对象