微信小程序canvas畫布新接口type為2D時wx.canvasToTempFilePath的參數差異


參見文檔:https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html

見下文第21行,不要使用 canvasId,canvas type="2d" 時,傳入 canvas 組件實例 ,object類型。

btn_tap(e) {
    var that = this;
    var img_url = e.currentTarget.dataset.url;
    const query = wx.createSelectorQuery();
    query.select('#myCanvas')
      .fields({ node: true, size: true })
      .exec((res) => {
        const _canvas = res[0].node;
        const ctx = _canvas.getContext('2d');

        const dpr = wx.getSystemInfoSync().pixelRatio;
        _canvas.width = res[0].width * dpr
        _canvas.height = res[0].height * dpr
        ctx.scale(dpr, dpr)

        ctx.fillRect(0, 0, 480, 640)
        let img = _canvas.createImage();
        img.onload = () => {
          ctx.drawImage(img, 0, 0, 480, 480);
          wx.canvasToTempFilePath({
            canvas: _canvas,
            success: (resx) => {
                wx.saveImageToPhotosAlbum({
                  filePath: resx.tempFilePath,
                  success: (resxx) => {
                    wx.showToast({
                      title: '保存成功',
                      duration: 1000,
                    });
                  }
              });
            },
            fail: (ex) => {
                console.log(ex);
            }
          });
        };
        img.src = img_url;
      });
    return;
  }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM