2***@qq.com
2***@qq.com
  • 发布:2021-01-13 14:16
  • 更新:2021-01-20 00:47
  • 阅读:806

【报Bug】canvas在新版本中,仅H5生效,app端空白。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 3.0.5

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: vivo

手机机型: V1809A

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
                           let that = this  
            let ctx = uni.createCanvasContext('firstCanvas')  
            //uni.upx2px()是尺寸单位转换方法,622为rpx单位,换成px为311,根据设计稿来编辑  
            let canvaWidth = uni.upx2px(622)  
            let canvaHight = uni.upx2px(984)  
            const data = await this.getcanvasHW()  
            if (data) {  
                canvaWidth = data.width  
                canvaHight = data.height  
            }  
            //绘制文字居中对齐使用,根据我的理解,这个数值是要为需要截图区域宽度的一半  
            let centerCode = canvaWidth / 2  
            let font = uni.upx2px(24) //字体大小  
            let yzmtop = canvaHight * 0.8  
            let yzmleft = uni.upx2px(232)  
            let imgurl = this.imgUrl //设置背景图的路径  
            ctx.drawImage(imgurl, 0, 0, canvaWidth, canvaHight)  
            //绘制您的邀请码文字  
            ctx.setFillStyle('#FFFFFF') //文字颜色  
            ctx.setFontSize(font)  
            ctx.textAlign = "center" //居中,而且这个需要放在ctx.setFontSize()后面,其他api就没去一一使用过  
            //绘制文字ctx.fillText(需要绘制的文字,x轴距离,y轴距离);  
            ctx.fillText(this.user, centerCode, yzmtop);  
            //绘制二维码位置  
            let erweimaimg = this.qrcodeImg  
            let towCodeX = canvaWidth / 2 - uni.upx2px(100)  
            let towCodeY = canvaHight * 0.8 - uni.upx2px(200 + 30)  
            let towCodeW = uni.upx2px(200)  
            ctx.drawImage(erweimaimg, towCodeX, towCodeY, towCodeW, towCodeW)  
            ctx.draw() //结束绘画

操作步骤:

随便新建一个页面,创建一个canvas 测试即可。分别在H5 和 安卓中测试即可显现出来。

预期结果:

随便新建一个页面,创建一个canvas 测试即可。分别在H5 和 安卓中测试即可显现出来。

实际结果:

随便新建一个页面,创建一个canvas 测试即可。分别在H5 和 安卓中测试即可显现出来。

bug描述:

canvas在新版本中,仅H5生效,能够画出画面,但APP端,就空白一片。同样得代码,老版本得APP正常。。用升级之后得版本打包,会出现错误。但具体那个版本就开始出错了,不确定。。因为升级了好几个版本。目前无法回复到正常得版本。请解决。。
以下分别H5和app得截图。

2021-01-13 14:16 负责人:无 分享
已邀请:
DCloud_UNI_Anne
  • 2***@qq.com (作者)

    已确认,2.98版本,正常。。但我的版本,回退不了那么多。如果下载新的,,很多项目的配置就会丢失。还望处理该BUG

    2021-01-15 10:22

b***@163.com

b***@163.com

我也碰到和你一样的情况,然后图片用downloadFile先下载到本地临时路径再画就可以了

该问题目前已经被锁定, 无法添加新回复