91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

玉龙| 曲靖市| 上思县| 远安县| 孝昌县| 定安县| 阿拉善右旗| 馆陶县| 新疆| 赫章县| 沙坪坝区| 遵化市| 博乐市| 淮南市| 平远县| 瑞丽市| 醴陵市| 萨嘎县| 龙里县| 丘北县| 麻栗坡县| 阿坝| 西盟| 额济纳旗| 建德市| 依安县| 财经| 湘阴县| 洛阳市| 大田县| 新巴尔虎右旗| 汝南县| 通化市| 定日县| 嘉禾县| 七台河市| 历史| 汉川市| 阿勒泰市| 丰都县| 景泰县|