翻了微信小程序官方文檔,看了看畫板drawImage的用法,官方對所要繪制的圖片資源路徑並沒有很詳細,模棱兩可,沒說支持什么格式的路徑。今天我就試一下支不支持base64格式的圖片

隨便找張圖片從網上base64轉化

小程序繪制功能着實搞好了

剩下就是將所要繪制的圖片資源替換成base64數據了,然后再工具上看效果

繪制效果在工具上雖然是正常的,可是到了真機調試,就不正常了,啥都沒有

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
