翻了微信小程序官方文檔,看了看畫板drawImage的用法,官方對所要繪製的圖片資源路徑並無很詳細,模棱兩可,沒說支持什麼格式的路徑。今天我就試一下支不支持base64格式的圖片javascript
隨便找張圖片從網上base64轉化java
小程序繪製功能着實搞好了git
剩下就是將所要繪製的圖片資源替換成base64數據了,而後再工具上看效果github
繪製效果在工具上雖然是正常的,但是到了真機調試,就不正常了,啥都沒有canvas
base64格式的圖片在真機調試上無用,真是鬱悶,不能直接渲染,那隻好將base64圖片轉化網絡圖片了,怎麼轉就是個問題了。小程序
如何作?這就須要用到微信的文件系統了!將base格式圖片放到暫存文件中,改成新的路徑微信小程序
方法以下:微信
//將base64圖片轉網絡圖片 send_code(code) { /*code是指圖片base64格式數據*/ //聲明文件系統 const fs = wx.getFileSystemManager(); //隨機定義路徑名稱 var times = new Date().getTime(); var codeimg = wx.env.USER_DATA_PATH + '/' + times + '.png'; //將base64圖片寫入 fs.writeFile({ filePath: codeimg, data: code.slice(22), encoding: 'base64', success: () => { //寫入成功了的話,新的圖片路徑就能用了 this.huizhi({},codeimg); } }); },
瞧瞧真機上的效果:網絡
大功告成!須要源碼的,可前往工具
https://github.com/murenziwei/wx-canvas-base64.git