搜尋
首頁微信小程式微信開發微信小程式:一個json幫你完成分享朋友圈圖片

寫在前面


最近在做小程序,發現製作分享到朋友圈圖片是每個項目必須的。遇到坑比較多,寫起來也比較繁瑣,也沒找到類似組件,所以就自己動手寫了一個。

示範


微信小程式:一個json幫你完成分享朋友圈圖片

左邊是 canvasdrawer 繪製的,右邊是UI給的圖片

微信小程式:一個json幫你完成分享朋友圈圖片

特性


  • #簡單易用- 一個 json 搞定繪製圖片

    • #功能全- 滿足 90% 的使用場景
    • 繪製文字(換行、超出內容省略號、中劃線、底線、文字加粗)
    • #繪製圖片

    繪製矩形
  • #儲存圖片

多圖繪製

...

  • #程式碼量小
  • 體驗

git clone https://github.com/kuckboy1994/mp_canvas_drawer
想在手機上使用設定自己的 appid 即可。

編譯模式中已經為你配置好比較常用的兩種模式:
  • #普通繪製,繪製單張分享圖。

  • 多圖繪製,連續繪製分享圖
  • #使用

  • git clone https://github.com/kuckboy1994/mp_canvas_drawer
 到本地
  • 把 
  • components 
中的 

## canvasdrawer 拷貝到自己專案下。 在使用頁面註冊元件

{
  "usingComponents": {
    "canvasdrawer": "/components/canvasdrawer/canvasdrawer"
  }
}

在頁面 **.wxml 檔案中加入下列程式碼
  • <canvasdrawer painting="{{painting}}" bind:getImage="eventGetImage"/>
              painting 

    是需要傳入的 
  • json
。 

getImage 方法是繪圖完成之後的回呼函數,在 event

.
detail 

中傳回繪製完成的圖片位址。 目前栗子中的 painting 簡單展示一下。詳細設定請看 API

API

資料物件的第一層需要三個參數: widthheight

views。配置中所有的數字都是沒有單位的。這就意味著 canvas

繪製的是一個比例圖。具體顯示的大小直接把返回的圖片路徑放置到

image
標籤中即可。

###目前可以繪製3種類型的配置: ###image###、###text###、###rect###。配置的屬性基本上使用的都是 css 的駝峰名稱,還是比較好理解的。 #########image(圖)###############
屬性 意義 預設值
#可選值
url 繪製的圖片位址,可以是本機圖片,如:/images/1.jpeg

top 左上角距離畫板頂部的距離

#left #左上角距離畫板左邊的距離

width 要畫多寬 0
#height 要畫多高 0
#

text(文字)

##fontSize字體大小16#lineHeight
#屬性
# #預設值
可選值
content #繪製的圖片位址 ''(空字串)
color 顏色 black
textAlign 文字對齊方式 left center,right
###行高,只有在多行文字中才有用######20######################

rect (矩形,線條)

##background #背景顏色black#topleftwidth##0height要畫多高0

Q&A


最佳实践

绘制操作的时候最好 锁住屏幕 ,例如在点击绘制的时候

wx.showLoading({  title: &#39;绘制分享图片中&#39;,  mask: true})

绘制完成之后

wx.hideLoading()

具体可以参考项目下的 /pages/multiple

1.二维码和小程序码如何绘制?

  •    二维码和小程序码可以通过调用微信官方的接口产生,需要后端配合。

  •   然后走 type: image 类型进行绘制即可。

2.绘制流程相关

  •   views 数组中的顺序代表绘画的先后顺序,会有覆盖的现象。请各位使用者注意。

3.如何实现圆形头像?

  •    canvas 中没有绘制圆形图片的方法,所以使用了 hack 的方式来实现的。使用一张中间镂空的图片盖在头像上就可实现当前效果。

4.canvas drawer 组件为什么不直接显示canvas画板和其内容呢?

  •     考虑到大部分场景,我们都是用来把图片保存到本地,或用以展示。保存到本地,返回临时文件给调用者一定是最佳的解决方式。展示,转化成图片之后,就可以使用 image 基础组件的所有显示模式了,还能设置宽高。

推荐教程:《微信小程序

屬性 意義 預設值
可選值

##左上角距離畫板頂部的距離

#左上角距離畫板左邊的距離 16
要畫多寬

以上是微信小程式:一個json幫你完成分享朋友圈圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具