var imgBaseData = '你的base64图片'; const fsm = wx.getFileSystemManager(); const FILE_BASE_NAME = 'tmp_base64src'; let pro2 = new Promise((resolve, reject) => { const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(imgBaseData) || []; if (!format) { reject(new Error('ERROR_BASE64SRC_PARSE')); } const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`; const buffer = wx.base64ToArrayBuffer(bodyData); fsm.writeFile({ filePath, data: buffer, encoding: 'binary', success() { resolve(filePath); }, fail() { reject(new Error('ERROR_BASE64SRC_WRITE')); }, }); }); pro2.then(data =>{ console.log(data); //画图 canvas.drawImage(data, 0, 0, 300, 300) //data即是图片路径 })
拿到的base64图片 怎么才能画到canvas上面 T.T用了各种方法想把从后台拿到的小程序二维码图片保存到手机上面,就是不行 var src = "data:image/png;base64," + this.data.imageCode; canvas.drawImage(src, 0, 0, 300, 300) canvas.draw(); 这样能画到canvas,但是把canvas保存成临时文件,再把这临时文件保存到相册的时候就不行,总是空的,但是我再说上面画text的时候,保存是好使的,就是用上面的那种方法画上去的二维码不行T.T canvas.setFontSize(20) canvas.fillText('asdfasdfasdfasdfas', 20, 20) canvas.draw(); 这样画上去的text是能出现的
2019-01-02