千家信息网

微信小程序如何实现虎年春节头像制作

发表于:2024-10-09 作者:千家信息网编辑
千家信息网最后更新 2024年10月09日,这篇文章主要介绍微信小程序如何实现虎年春节头像制作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先上最终效果图:说下实现流程第一步:先获取到当前微信的头像图片,主要代码如下,注
千家信息网最后更新 2024年10月09日微信小程序如何实现虎年春节头像制作

这篇文章主要介绍微信小程序如何实现虎年春节头像制作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

先上最终效果图:

说下实现流程

第一步:先获取到当前微信的头像图片,主要代码如下,注意默认获取到的头像图片不是高清的,需要先转换成高清图片,避免生成之后很模糊。

 getUserProfile(e) {    console.log(e)    let that = this;    wx.getUserProfile({      desc: '仅用于生成头像使用',      success: (res) => {        var url = res.userInfo.avatarUrl;        while (!isNaN(parseInt(url.substring(url.length - 1, url.length)))) {          url = url.substring(0, url.length - 1)        }        url = url.substring(0, url.length - 1) + "/0";        res.userInfo.avatarUrl = url;        console.log(JSON.stringify(res.userInfo));        that.setData({          userInfo: res.userInfo,          hasUserInfo: true        })        that.drawImg();      }    });  },

第二步:合成头像,把素材图片和第一步获取到的头像图片,获取到本地文件,然后利用小程序的cavas组件进行合成。

drawImg() {    let that = this;    wx.showLoading({      title: '生成头像中...',    })    let promise1 = new Promise(function (resolve, reject) {      wx.getImageInfo({        src: that.data.userInfo.avatarUrl,        success: function (res) {          resolve(res);        }      })    });    var mask_id = that.data.now_mask;    let promise2 = new Promise(function (resolve, reject) {      wx.getImageInfo({        src: `../../assets/img/mask0${mask_id}.png`,        success: function (res) {          console.log(res)          resolve(res);        }      })    });    Promise.all([      promise1, promise2    ]).then(res => {      console.log(res)      var windowWidth = wx.getSystemInfoSync().windowWidth      var context = wx.createCanvasContext('myAvatar');      var size = windowWidth /750 * 500      // var size = 500      context.drawImage(res[0].path, 0, 0, size, size);      context.draw(true)      context.save();      context.drawImage('../../'+res[1].path, 0, 0, size, size);      context.draw(true)      context.save();    })    wx.hideLoading()  },

第三步:下载合成的图片到本地相册。

canvasToTempFile(){    if(!this.data.userInfo){      wx.showModal({        title: '温馨提示',        content: '请先点击上方获取微信头像',        showCancel: false,      })      return    }    var windowWidth = wx.getSystemInfoSync().windowWidth    var size = 500    // var dpr = 750 / windowWidth    wx.canvasToTempFilePath({      x: 0,      y: 0,      height: size,      width: size,      canvasId: 'myAvatar',      success: (res) => {        wx.saveImageToPhotosAlbum({          filePath: res.tempFilePath,          success: result => {            wx.hideLoading();            wx.showModal({              content: '图片已保存到相册,请前往微信去设置哟!',              showCancel: false,              success: function(res) {                if (res.confirm) {                  console.log('用户点击确定');                }              }            })          }, fail(e) {            wx.hideLoading();            console.log("err:" + e);          }        })      }    });  },

这样就实现了主要的功能了。

以上是"微信小程序如何实现虎年春节头像制作"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

头像 图片 程序 生成 制作 内容 相册 篇文章 高清 温馨 代码 价值 兴趣 功能 小伙 小伙伴 效果 效果图 文件 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全童谣30首 当前网络安全领域主要风险挑战 关系数据库中元组又称 如何找机房的网络技术 云服务器西部 ar人脸数据库介绍 虚拟交换技术无法在服务器上实现 三级网络技术考前选择题 服务器打开双网口 被脱机的数据库没有还原项 浙江员工量化积分管理软件开发 信阳首届网络安全挑战赛 5g网络技术深度解析 电信网络安全周活动讲话 服务器安全狗跳过加入服云 轻量服务器和挂机宝区别 宁波北辰软件开发有限公司 平板服务器异常是怎么回事 软件开发培训机构的未来 长沙软件开发驻场正规平台 各国网络安全概念股 数据库俩种安全认证模式 安卓软件开发有前景吗 三级网络技术考前选择题 清华三维软件开发 好多软件不能连接服务器 往数据库批量插入数据 青秀区个人软件开发工作室 大专计算机网络技术毕业 服务器如何开启ddos防护
0