首页 > 建站教程 > 小程序、公众号 >  微信小程序canvas绘图中canvasToTempFilePath出现CreateBitmap问题正文

微信小程序canvas绘图中canvasToTempFilePath出现CreateBitmap问题

微信小程序canvas绘图中canvasToTempFilePath出现CreateBitmap问题:
1.问题起因
在一部分性能不强的安卓机上经常会出现这个问题

2.解决方案
当失败时重新调用canvasToTempFilePath方法,直至绘制成功
/*
    ct.draw的第二个参数是绘制完成之后的回调函数,
    但是一般需要使用定时器的方式(draw本身是异步的),
    设置时间1s是比较安全的数值,
    可以保证绘制完成一些不算复杂的画布
*/
ct.draw(false,setTimeout(()=>{
    this.getTempFile((res)=>{
        // TODO
    })
},1000));

/* 调用失败重复调用 */
function getTempFile(args,callback){
    wx.canvasToTempFilePath({
        ...args,
        success:(res)=>{
            callback(res)
        },
        fail:(err)=>{
            // 在这里也可以对err进行处理,根据err的类型来决定是否重复执行
            this.getTempFile(callback)
        }
    },this)
},