中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么開發一個虎年春節頭像生成小程序

發布時間:2022-02-05 17:27:16 來源:億速云 閱讀:163 作者:柒染 欄目:移動開發

怎么開發一個虎年春節頭像生成小程序,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

馬上就到春節了,今天看到有網友分享了網頁版的虎年頭像制作工具,感覺很不錯,正好打算做個小程序練手沒啥主題,那就用這個試試吧。

說下實現流程

第一步:先獲取到當前微信的頭像圖片,主要代碼如下,注意默認獲取到的頭像圖片不是高清的,需要先轉換成高清圖片,避免生成之后很模糊。

 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);
          }
        })
      }
    });
  },

這樣就實現了主要的功能了。

關于怎么開發一個虎年春節頭像生成小程序問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

老河口市| 宿州市| 漾濞| 凤阳县| 浪卡子县| 米泉市| 鲜城| 镇康县| 华坪县| 名山县| 蒙自县| 咸宁市| 于都县| 台南市| 商水县| 巴林左旗| 武威市| 渑池县| 化德县| 阳山县| 交口县| 台前县| 华池县| 肥乡县| 嫩江县| 古田县| 湘潭市| 保山市| 镇江市| 漳州市| 分宜县| 九寨沟县| 周至县| 越西县| 永宁县| 贵德县| 聂拉木县| 松滋市| 扎兰屯市| 离岛区| 南川市|