账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    微信小程序真机上canvas绘制用户头像绘制不出来!
    90
    0

    先介绍一下我的项目逻辑:

    1:在首页有个按钮button,open-type为getuserinfo,用bindgetuserinfo获取到信息,然后我将用户的昵称跟头像用setStorage存起来,在第三个页面取到用户的昵称跟头像。然后在第三个页面需要生成一张图片(点击按钮canvas绘制)。

    现在在开发者工具里面一切看起来并没有什么问题,在第一个页面console.log()时第一次点击button,也可以打印出来用户的头像url地址,所以在第三个页面也就没有什么问题了.

    但是在真机上,第一次点击第一个页面的按钮时,头像的url打印不出来,获取不到。每次重新进入小程序都要重新返回到第一个页面才能获取到头像url(点击两次按钮)。

    下面贴上我的代码:
    <button class="start-btn" style='margin-top: -140rpx;' open-type='getUserInfo' bindgetuserinfo='getUserInfo' type="primary" bindtap='canILogin'>开 始</button>
    
    getUserInfo(){
        var that = this;
        wx.downloadFile({
            url: this.data.avatarUrl,
            success: function (res) {
              console.log(res.tempFilePath);
              that.setData({
                avatarUrl: res.tempFilePath
              })
            }
          })
    },
    onHide: function () {
        var that = this;
        wx.downloadFile({
          url: this.data.avatarUrl,
          success: function (res) {
            console.log(res.tempFilePath);
            that.setData({
              avatarUrl: res.tempFilePath
            })
          }
        })
        console.log(this.data.avatarUrl);
        wx.setStorage({
          key: 'userInfo',
          data: [this.data.avatarUrl, this.data.nickName],
        })
      },

    求个大佬帮个忙。看看这怎么解决

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 我瞎跟我走 普通会员 1楼

      微信小程序中使用canvas绘制用户头像可能遇到一些问题。以下是一些可能的原因和解决方案:

      1. canvas的宽度和高度设置不正确:确保你的canvas元素的宽度和高度与实际应用中的宽度和高度一致。

      2. canvas元素的宽高比设置不正确:确保你的canvas元素的宽高比与实际应用中的宽高比一致。

      3. canvas元素的宽高比设置为百分比:微信小程序中并不支持百分比的canvas元素,所以需要将其转换为绝对值。

      4. canvas元素的元素内容不正确:检查你的canvas元素的内容是否正确,是否包含你需要的用户头像。

      5. canvas元素的宽度和高度设置错误:检查你的canvas元素的宽度和高度是否正确,包括宽度和高度的单位。

      6. 调用drawImage方法时没有正确的参数:根据你的需求,可能需要调用drawImage方法的参数,例如图像的宽度和高度,或者其他需要的参数。

      7. 代码错误:检查你的代码,确保你没有引入或使用了错误的库或者框架。

      解决这些问题的方法可能包括:检查你的代码,确保你的代码没有错误;检查你的canvas元素,确保它的宽高比和元素内容都是正确的;检查你的微信小程序的设置,确保你的canvas元素的宽度和高度都是正确的;或者尝试使用其他的绘制工具或者库,如HTML2Canvas或requestAnimationFrame。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部