需要在一个结构稍微复杂的页面绘制canvas,别在一个只有canvas元素的简单页面测试
- 发布:2022-01-23 12:15
- 更新:2022-05-20 09:42
- 阅读:972
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 12.1 (21C52)
HBuilderX类型: Alpha
HBuilderX版本号: 3.3.9
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iphone xs max
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
能够正常回调
能够正常回调
实际结果:
不会进入draw回调
不会进入draw回调
bug描述:
IOS不会进入canvasContext.draw回调,代码是在非自定义组件写的,自定义组件也加了this测了有问题。加了settimeout之后偶尔有一两次能够进入回调,大概率还是没办法触发回调。同样的代码在小程序和安卓是没有问题的
2 个回复
c***@guiyun.com (作者)
找到原因了。
IOS绘制canvas背景图,必须先使用uni.downloadFile将图片下载,再uni.getImageInfo本地路径。
如果直接使用uni.getImageInfo返回的本地路径绘背景图,就会出现draw间歇性不回调的问题
其他端可以直接使用uni.getImageInfo远程图片做背景图,坑死我了。。。
cccoder
请问下,我通过uni.chooseImage拍照方式获取图片,再通过uni.getImageInfo获取拍照图片本地路径,再进行水印添加。那么:照你说的用uni.downloadFile来下载图片,可是下载资源的url是如何获取的呢?uni.chooseImage成功回调返回的参数只有本地文件路径