微信小程序海報生成組件封裝

每一個小程序成型後,通常都會選擇生成帶菊花碼的海報分享出去來吸引更多的流量。下面來介紹下他的一種實現方式吧javascript

組件Github地址: https://github.com/WGinit/min...java

原理:主要利用微信小程序強大的Canvas API來合成,生成後可用wx.canvasToTempFilePath()導出圖片地址,從而可實現預覽及保存至手機相冊git

1、如何使用

打開項目文件夾github

一、 git  clone  https://github.com/WGinit/mini-poster.git

二、在待使用頁面Json文件中註冊該組件canvas

{ 「usingComponents「:

  { 「share-image「: 「/components/share_image/share_image「 }

}

三、在頁面中使用該組件小程序

<share–image

       drawDataList=「{{dataList}}「>

  </share–image>

2、參數配置

dataList: {
    canvasData:{
      type: 'image',
      url: '',
      top: 0,
      left: 0,
      width: 750,
      height: 1334,
      comment: '背景圖',
      btnText: '保存至相冊'
    },
    content: [{
      type: 'image',
      url: '',
      top: 136,
      left: 100,
      shape: 'square',
      width: 290,
      height: 186,
      comment: '頭像'
    }, {
      type: 'text',
      content: '白山羊',
      top: 336,
      left: 100,
      fontSize: 40,
      lineHeight: 40,
      color: '#f00',
      textAlign: 'left',
      weight: 'bold',
      maxWidth: 287
    }]
  }

3、參數說明

canvasData------------canvas相關參數配置
參數 類型 默認值 必填 說明
type String image 文件類型, 這裏爲背景圖,默認image
url String '' 網絡圖片地址
top Number 0 圖像的左上角在可視區域上 Y 軸的位置, 單位px
left Number 0 圖像的左上角在可視區域上 X 軸的位置, 單位px
width Number 750 畫布的寬度, 單位px
height Number 1334 畫布的高度, 單位px
comment String '背景圖' 圖片描述
btnText String '保存至相冊' 生成按鈕文字
content -------繪製內容參數
參數 類型 默認值 必填 說明
type String '' 繪製的類型,可選image和text
shape String 'square' 繪製圖片的形狀, square 方形, circle 圓形
url String '' - 圖片的網絡地址, type爲image必填
content String '' - 文本內容, type爲text必填
top Number 0 圖像的左上角在目標畫布上 Y 軸的位置, 單位px
left NUmber 0 圖像的左上角在目標畫布上 X 軸的位置, 單位px
width Number 100 繪製圖片的寬度,單位px
height Number 100 繪製圖片的高度, 單位px
comment String '' 繪製圖片的說明
fontSize Number 32 文本字體大小,單位px
lineHeight Number 32 文本行高, 單位px
color String '#FFFFFF ' 文本字體顏色
textAlign String 'center' 文本水平對齊方式, 可選left, center, right
weight String 'normal' 文本字體粗細
maxWidth Number 600 文本限制的最大寬度,單位px

4、備註

上述單位都是參照設計稿(750 * 1334)而來,實際狀況可直接按設計稿上尺寸配置參數.微信小程序

相關文章
相關標籤/搜索