收藏
回答

微信小程序用canvas的图片 wx.showShareImageMenu 真机无法显示?

wx.canvasToTempFilePath

使用这个接口生成的 tempFilePath 临时路径

wx.showShareImageMenu

在这个接口无法显示图片,模拟器可以,真机调试不行

微信版本 8.0.5 基础库 2.17.0 手机型号 iPhonex

回答关注问题邀请回答
收藏

2 个回答

  • Listen
    Listen
    2021-05-15

    贴下你的代码

    2021-05-15
    有用 1
    回复 2
    • 赖锴
      赖锴
      2021-05-15
      var context = wx.createCanvasContext('share');
          var backgroundImage = "/static/image/management_reply_bg.png";//背景图
          var headerImage = "/static/image/management_audit_icon.png";
          var nickName = "谢伟文医生"
          var tips = "谢伟文医生邀请你加入。"
          context.drawImage(backgroundImage, 0, 35, 327, 424);
          context.save();
          context.beginPath(); //开始绘制
          context.arc(164, 35, 35, 0, Math.PI * 2, false);
          context.setFillStyle('#ffffff')
          context.fill()
          context.clip();
          context.drawImage(headerImage, 134, 5, avatorWidth, avatorWidth);
          context.restore();
          context.setFontSize(16)
          context.setFillStyle("#999999")
          context.setTextAlign("left")
          context.fillText(nickName, 124, 88, 80)
          context.setFontSize(16)
          context.setFillStyle("#121212")
          context.setTextAlign("left")
          context.fillText(tips, 76, 128, 176)
          context.draw(false, function () {
            wx.canvasToTempFilePath({
                x: 0,
                y: 0,
                width: 327,
                height: 424,
                destWidth: 327,
                destHeight: 424,
                canvasId: 'share',
                success: function (res) {
                    if (!res.tempFilePath) {
                        wx.showModal({
                            title: '提示',
                            content: '图片绘制中,请稍后重试',
                            showCancel: false
                        })
                    }
                    console.log(res)
                    wx.showShareImageMenu({
                      path: res.tempFilePath,
                      success: () => {
                        console.log("success")
                      },
                      fail: (error)=> {
                        console.log(error)
                      }
                    })
                }
            })
      2021-05-15
      回复
    • Listen
      Listen
      2021-05-17回复赖锴
      参考:https://developers.weixin.qq.com/s/Inpi4mmQ7ZqM


      你的代码我跑步起来,最好能弄成代码片段
      2021-05-17
      回复
  • 短腿小胖儿
    短腿小胖儿
    2022-11-21

    遇到了类似的问题,界面的canvas影响了弹框的显示,楼主修复了吗?

    2022-11-21
    有用
    回复
登录 后发表内容