1. 程式人生 > >小程式canvas使用網路圖片真機不顯示解決方案----可直接使用案例測試

小程式canvas使用網路圖片真機不顯示解決方案----可直接使用案例測試

圖片都是線上的,可以直接放到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) {
          //失敗回撥
        }
      });