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

溫馨提示×

溫馨提示×

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

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

小程序分享頁面圖片怎么實現

發布時間:2022-03-08 10:04:14 來源:億速云 閱讀:470 作者:iii 欄目:開發技術

本篇內容介紹了“小程序分享頁面圖片怎么實現”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

  小程序分享頁面圖片怎么實現

  開發微信小程序的時候,經常要遇到如上圖這樣的,保存小程序二維碼圖片的分享功能。

  首先,需要在 wxml 中 創建一個 畫板 canvas 。

  wxml :

  保存圖片 //保存圖片按鈕

  //這里的 canvas-id 后面要用的上。

  //style里的寬高要用上,不設置寬高畫板會失效。

  //canvasHidden是控制畫板顯示隱藏的參數,畫板直接設置display none,會導致失效。

  data :

  data: {

  canvasHidden:true, //設置畫板的顯示與隱藏,畫板不隱藏會影響頁面正常顯示

  avatarUrl: '', //用戶頭像

  nickName: '', //用戶昵稱

  wxappName: app.globalData.wxappName, //小程序名稱

  shareImgPath: '',

  screenWidth: '', //設備屏幕寬度

  description: app.globalData.description, //獎品描述

  FilePath:'', //頭像路徑

  },

  js :

  onLoad: function (options) {

  var that = this

  var userInfo, nickName, avatarUrl

  //獲取用戶信息,頭像,昵稱之類的數據

  wx.getUserInfo({

  success: function (res) {

  console.log(res);

  userInfo = res.userInfo

  nickName = userInfo.nickName

  avatarUrl = userInfo.avatarUrl

  that.setData({

  avatarUrl: res.userInfo.avatarUrl,

  nickName: res.userInfo.nickName,

  })

  wx.downloadFile({

  url: res.userInfo.avatarUrl

  })

  }

  })

  //獲取用戶設備信息,屏幕寬度

  wx.getSystemInfo({

  success: res => {

  that.setData({

  screenWidth: res.screenWidth

  })

  console.log(that.data.screenWidth)

  }

  })

  //定義的保存圖片方法

  saveImageToPhotosAlbum:

  function () {

  wx.showLoading({

  title: '保存中...',

  })

  var that = this;

  //設置畫板顯示,才能開始繪圖

  that.setData({

  canvasHidden: false

  })

  var unit = that.data.screenWidth / 375

  var path2 = "../images/bg3.png"

  var avatarUrl = that.data.avatarUrl

  console.log(avatarUrl + "頭像")

  var path3 = "../images/award.png"

  var path4 = "../images/qrcode.png"

  var path5 = "../images/headborder.png"

  var path6 = "../images/border.png"

  var unlight = "../images/unlight.png"

  var nickName = that.data.nickName

  console.log(nickName + "昵稱")

  var context = wx.createCanvasContext('share')

  var description = that.data.description

  var wxappName = "來「 " + that.data.wxappName + " 」試試運氣"

  context.drawImage(path2, 0, 0, unit * 375, unit * 462.5)

  // context.drawImage(path5, unit * 164, unit * 40, unit * 50, unit * 50)

  context.drawImage(path3, unit * 48, unit * 120, unit * 280, unit * 178)

  context.drawImage(path6, unit * 48, unit * 120, unit * 280, unit * 178)

  context.drawImage(unlight, unit * 82, unit * 145, unit * 22, unit * 32)

  context.drawImage(unlight, unit * 178 , unit * 145, unit * 22, unit * 32)

  context.drawImage(unlight, unit * 274, unit * 145, unit * 22, unit * 32)

  context.drawImage(unlight, unit * 82, unit * 240, unit * 22, unit * 32)

  context.drawImage(unlight, unit * 178, unit * 240, unit * 22, unit * 32)

  context.drawImage(unlight, unit * 274, unit * 240, unit * 22, unit * 32)

  context.drawImage(path4, unit * 20, unit * 385, unit * 55, unit * 55)

  // context.drawImage(path5, 48, 200, 280, 128)

  context.setFontSize(14)

  context.setFillStyle("#999")

  context.fillText("長按識別小程序", unit * 90, unit * 408)

  context.fillText(wxappName, unit * 90, unit * 428)

  //把畫板內容繪制成圖片,并回調 畫板圖片路徑

  context.draw(false, function () {

  wx.canvasToTempFilePath({

  x: 0,

  y: 0,

  width: unit * 375,

  height: unit * 462.5,

  destWidth: unit * 375,

  destHeight: unit * 462.5,

  canvasId: 'share',

  success: function (res) {

  that.setData({

  shareImgPath: res.tempFilePath

  })

  if (!res.tempFilePath) {

  wx.showModal({

  title: '提示',

  content: '圖片繪制中,請稍后重試',

  showCancel: false

  })

  }

  console.log(that.data.shareImgPath)

  //畫板路徑保存成功后,調用方法吧圖片保存到用戶相冊

  wx.saveImageToPhotosAlbum({

  filePath: res.tempFilePath,

  //保存成功失敗之后,都要隱藏畫板,否則影響界面顯示。

  success: (res) => {

  console.log(res)

  wx.hideLoading()

  that.setData({

  canvasHidden: true

  })

  },

  fail: (err) => {

  console.log(err)

  wx.hideLoading()

  that.setData({

  canvasHidden: true

  })

  }

  })

  }

  })

  });

  },

“小程序分享頁面圖片怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

武胜县| 彭水| 黄陵县| 涡阳县| 崇明县| 汝阳县| 嵊泗县| 微博| 淅川县| 溧水县| 林西县| 钟山县| 洮南市| 甘孜| 呼和浩特市| 吕梁市| 弋阳县| 定日县| 湟源县| 天镇县| 保德县| 三河市| 新巴尔虎左旗| 赤城县| 关岭| 固原市| 于田县| 堆龙德庆县| 长汀县| 克山县| 四子王旗| 苏尼特右旗| 邯郸县| 安宁市| 桃江县| 安陆市| 聊城市| 关岭| 鄱阳县| 通许县| 保山市|