context = uni.createCanvasContext('canvas',this)
context.drawImage('https://barter.rmlong.com/upload/file/2020-08-07/c34e2f2f-d4a5-4052-86b9-4b83683aa1b3.jpg', 0, 0, 150, 100)
context.draw()
- 发布:2021-01-28 12:50
- 更新:2023-11-08 17:02
- 阅读:2445
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10旗舰版
HBuilderX类型: 正式
HBuilderX版本号: 3.0.7
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: LRA-AL00
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
在HbuilderX自带的项目--演示uni-app组件接口模板中,在接口--界面--创建绘画页面(pages/API/canvas.vue),将方法rotate改为如下,点击时,在web浏览器预览,可显示图片,但运行到手机,无法显示:
rotate: function() {
/ context.beginPath()
context.rotate(10 Math.PI / 180)
context.rect(225, 75, 20, 10)
context.fill()
context.draw() */
context.drawImage('https://barter.rmlong.com/upload/file/2020-08-07/c34e2f2f-d4a5-4052-86b9-4b83683aa1b3.jpg', 0, 0, 150, 100)
context.draw()
},
在HbuilderX自带的项目--演示uni-app组件接口模板中,在接口--界面--创建绘画页面(pages/API/canvas.vue),将方法rotate改为如下,点击时,在web浏览器预览,可显示图片,但运行到手机,无法显示:
rotate: function() {
/ context.beginPath()
context.rotate(10 Math.PI / 180)
context.rect(225, 75, 20, 10)
context.fill()
context.draw() */
context.drawImage('https://barter.rmlong.com/upload/file/2020-08-07/c34e2f2f-d4a5-4052-86b9-4b83683aa1b3.jpg', 0, 0, 150, 100)
context.draw()
},
预期结果:
手机上点击rotate,左上角显示网络图片。
手机上点击rotate,左上角显示网络图片。
实际结果:
什么也不显示
什么也不显示
bug描述:
Canvas使用drawImage方法绘制网络路径图片时,不显示。
原来应该是可以的,发现该问题缘于我使用tki-qrcode生成带图标的二维码,图标使用的是网络图片,之前手机上使用一直正常,打包的app都可正常显示二维码。
但在12月底(或之前)一次HBuilder更新后,忽然发现新打包的app安装在手机上后二维码无法显示,测试后,发现如果去掉图标可以显示,后发现使用本地图片也可以显示,但使用网络图片则二维码一片空白(但在HbuilderX内置的web浏览器中是可以显示的)。
查源码后,发现图标绘制使用canvas,于是使用hbuilder自带的项目--演示uni-app组件接口模板中,在接口--界面--创建绘画页面(pages/API/canvas.vue),将方法rotate中内容改为drawImage函数,运行至手机上,手机上图片路径使用本地图片时,可以显示,但使用网络图片时,无法显示。(而在HbuilderX内置web浏览器中,均可显示。)
4 个回复
DCloud_UNI_GSQ
HBuilderX 3.1.0 alpha 已修复
DCloud_UNI_GSQ
bug 确认,已加分,后续修复
j***@sina.com (作者)
大概什么时候bug能解决?解决后会给我回复吗?
2021-02-03 16:07
s***@126.com
还没修复么
1***@qq.com - cc
还没修复吗