小程式canvas使用網路圖片真機不顯示解決方案----可直接使用案例測試
阿新 • • 發佈:2018-12-10
圖片都是線上的,可以直接放到onLoad裡邊自動檢測
1.注意點: 在繪製網路圖片時必需先將其儲存到本地然後在繪製。當我們在載入一個帶有圖片的頁面時,圖片都會被暫存到本地,由此我們可以通過wx.gerImageInfo介面訪問本地的暫存路徑來呼叫drawImage方法繪製圖片。如下:(注意網路圖片的地址一定要在合法域名內)
/* * author:咔咔 * address:陝西西安 * wechat:fangkangfk * */ // 小程式二維碼 var path1 = 'https://www.weiuid.com/attachs/uploads/20180913/6386.png'; const ctx = wx.createCanvasContext('myCanvas') // // 封面圖 var path = 'https://www.weiuid.com/attachs/uploads/20180912/d70711527c3ca66054f9989af7975d87.jpg'; wx.getImageInfo({ src: path,//伺服器返回的圖片地址 success: function (res) { //res.path是網路圖片的本地地址 let Path = res.path; ctx.drawImage(Path, 0, 0, 400, 200) }, fail: function (res) { //失敗回撥 } }); var that = this; //獲取網路圖片本地路徑 wx.getImageInfo({ src: path1,//伺服器返回的圖片地址 success: function (res) { //res.path是網路圖片的本地地址 let Path = res.path; ctx.drawImage(Path, 140, 300, 100, 100) ctx.draw(false, function () { wx.canvasToTempFilePath({ canvasId: 'myCanvas', success: function (res) { console.log(res.tempFilePath) wx.previewImage({ urls: [res.tempFilePath] // 需要預覽的圖片http連結列表 }) } }) }); }, fail: function (res) { //失敗回撥 } });