j***@sina.com
j***@sina.com
  • 发布:2021-01-28 12:50
  • 更新:2023-11-08 17:02
  • 阅读:2178

【报Bug】Canvas使用drawImage方法绘制网络路径图片时,不显示。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10旗舰版

HBuilderX类型: 正式

HBuilderX版本号: 3.0.7

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: LRA-AL00

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

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()

操作步骤:

在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,左上角显示网络图片。

实际结果:

什么也不显示

bug描述:

Canvas使用drawImage方法绘制网络路径图片时,不显示。
原来应该是可以的,发现该问题缘于我使用tki-qrcode生成带图标的二维码,图标使用的是网络图片,之前手机上使用一直正常,打包的app都可正常显示二维码。
但在12月底(或之前)一次HBuilder更新后,忽然发现新打包的app安装在手机上后二维码无法显示,测试后,发现如果去掉图标可以显示,后发现使用本地图片也可以显示,但使用网络图片则二维码一片空白(但在HbuilderX内置的web浏览器中是可以显示的)。
查源码后,发现图标绘制使用canvas,于是使用hbuilder自带的项目--演示uni-app组件接口模板中,在接口--界面--创建绘画页面(pages/API/canvas.vue),将方法rotate中内容改为drawImage函数,运行至手机上,手机上图片路径使用本地图片时,可以显示,但使用网络图片时,无法显示。(而在HbuilderX内置web浏览器中,均可显示。)

2021-01-28 12:50 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX 3.1.0 alpha 已修复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

bug 确认,已加分,后续修复

  • j***@sina.com (作者)

    大概什么时候bug能解决?解决后会给我回复吗?

    2021-02-03 16:07

s***@126.com

s***@126.com

还没修复么

1***@qq.com

1***@qq.com - cc

还没修复吗

要回复问题请先登录注册