溫州北白象鎮(zhèn)微信小程序:一個(gè)json幫你完成分享朋友圈圖片
閱讀 40029 · 發(fā)布日期 2020-08-24 17:26 · 溫州優(yōu)光網(wǎng)絡(luò)科技有限公司|建站|APP小程序制作|做網(wǎng)站SEO推廣優(yōu)化
【摘要】
寫在前面最近在做小程序,發(fā)現(xiàn)制作分享到朋友圈圖片是每個(gè)項(xiàng)目必須的。遇到坑比較多,寫起來(lái)也比較繁瑣,也沒有找到類似組件,所以就自己動(dòng)手寫了一個(gè)。演示左側(cè)是 canvasdrawer 繪制的,右側(cè)是UI給的圖特性簡(jiǎn)單易用 —— 一個(gè) json 搞定繪制圖片功能全 —— 滿足 90% 的使用場(chǎng)景繪制文本(換行、超出內(nèi)容省略號(hào)... 【溫州小程序開發(fā),溫州微信公眾號(hào),平陽(yáng)做網(wǎng)站,平陽(yáng)網(wǎng)站建設(shè)公司,平陽(yáng)小程序商城制作,昆陽(yáng)萬(wàn)全做網(wǎng)站,鰲江水頭小程序,蕭江騰蛟微信公眾號(hào),山門順溪南雁海西南麂鳳臥麻步懷溪網(wǎng)絡(luò)網(wǎng)店服務(wù),政采云網(wǎng)店管理服務(wù)】...
寫在前面最近在做小程序,發(fā)現(xiàn)制作分享到朋友圈圖片是每個(gè)項(xiàng)目必須的。
遇到坑比較多,寫起來(lái)也比較繁瑣,也沒有找到類似組件,所以就自己動(dòng)手寫了一個(gè)。
演示左側(cè)是 canvasdrawer 繪制的,右側(cè)是UI給的圖特性簡(jiǎn)單易用 —— 一個(gè) json 搞定繪制圖片功能全 —— 滿足 90% 的使用場(chǎng)景繪制文本(換行、超出內(nèi)容省略號(hào)、中劃線、下劃線、文本加粗)繪制圖片繪制矩形保存圖片多圖繪制...代碼量小體驗(yàn)git clone https://github.com/kuckboy1994/mp_canvas_drawer想在手機(jī)上使用配置自己的 appid 即可。
編譯模式中已經(jīng)為你配置好比較常用的兩種模式:
普通繪制,繪制單張分享圖。
多圖繪制,連續(xù)繪制分享圖使用git clone https://github.com/kuckboy1994/mp_canvas_drawer 到本地把 components 中的 canvasdrawer 拷貝到自己項(xiàng)目下。
在使用頁(yè)面注冊(cè)組件{
"usingComponents": {
"canvasdrawer": "/components/canvasdrawer/canvasdrawer" }
}
在頁(yè)面 **.wxml 文件中加入如下代碼
getImage 方法是繪圖完成之后的回調(diào)函數(shù),在 event.detail 中返回繪制完成的圖片地址。
當(dāng)前栗子中的 painting 簡(jiǎn)單展示一下。
詳細(xì)配置請(qǐng)看 APIAPI數(shù)據(jù)對(duì)象的第一層需要三個(gè)參數(shù): width、height、views。
配置中所有的數(shù)字都是沒有單位的。
這就意味著 canvas 繪制的是一個(gè)比例圖。
具體顯示的大小直接把返回的圖片路徑放置到 image 標(biāo)簽中即可。
當(dāng)前可以繪制3種類型的配置: image、text、rect。
配置的屬性基本上使用的都是 css 的駝峰名稱,還是比較好理解的。
image(圖片)屬性含義默認(rèn)值可選值url繪制的圖片地址,可以是本地圖片,如:
/images/1.jpegtop左上角距離畫板頂部的距離left左上角距離畫板左側(cè)的距離width要畫多寬0height要畫多高0text(文本)屬性含義默認(rèn)值可選值content繪制的圖片地址'
'
(空字符串)color顏色blackfontSize字體大小16textAlign文字對(duì)齊方式leftcenter,rightlineHeight行高,只有在多行文本中才有用20rect (矩形,線條)屬性含義默認(rèn)值可選值background背景顏色blacktop左上角距離畫板頂部的距離left左上角距離畫板左側(cè)的距離16width要畫多寬0height要畫多高0Q&A最佳實(shí)踐繪制操作的時(shí)候最好 鎖住屏幕 ,例如在點(diǎn)擊繪制的時(shí)候wx.showLoading({
title: '
繪制分享圖片中'
, mask: true}
)繪制完成之后wx.hideLoading()具體可以參考項(xiàng)目下的 /pages/multiple1.二維碼和小程序碼如何繪制? 二維碼和小程序碼可以通過調(diào)用微信官方的接口產(chǎn)生,需要后端配合。
然后走 type: image 類型進(jìn)行繪制即可。
2.繪制流程相關(guān) views 數(shù)組中的順序代表繪畫的先后順序,會(huì)有覆蓋的現(xiàn)象。
請(qǐng)各位使用者注意。
3.如何實(shí)現(xiàn)圓形頭像? canvas 中沒有繪制圓形圖片的方法,所以使用了 hack 的方式來(lái)實(shí)現(xiàn)的。
使用一張中間鏤空的圖片蓋在頭像上就可實(shí)現(xiàn)當(dāng)前效果。
4.canvas drawer 組件為什么不直接顯示canvas畫板和其內(nèi)容呢? 考慮到大部分場(chǎng)景,我們都是用來(lái)把圖片保存到本地,或用以展示。
保存到本地,返回臨時(shí)文件給調(diào)用者一定是最佳的解決方式。
展示,轉(zhuǎn)化成圖片之后,就可以使用 image 基礎(chǔ)組件的所有顯示模式了,還能設(shè)置寬高。
推薦教程:
《微信小程序》以上就是微信小程序:
一個(gè)json幫你完成分享朋友圈圖片的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
微信
分享相關(guān)標(biāo)簽:
微信小程序本文轉(zhuǎn)載于:
掘金社區(qū),如有侵犯,請(qǐng)聯(lián)系[email protected]刪除
上一篇:
微信小程序知識(shí)點(diǎn)總結(jié)
下一篇:
你會(huì)用 vue 寫小程序嗎相關(guān)文章相關(guān)視頻微信小程序刮刮卡的實(shí)現(xiàn)微信小程序框架目前比較火的是?使用scss開發(fā)微信小程序如何實(shí)現(xiàn)微信小程序在電腦上玩微信小程序:
一個(gè)json幫你完成分享朋友圈圖片初識(shí)微信小程序(1)初識(shí)微信小程序(4)深入了解微信小程序(二) [溫州做微信公眾號(hào)]
為您推薦
- 微信公眾號(hào)里“JS接口域名”實(shí)現(xiàn)分享功能 2020-08-24
- 微信支付驗(yàn)證或簽名失敗是什么原因?附三種解決方案 2020-08-24
- android微信登陸、分享做了一段時(shí)間了發(fā)現(xiàn)的一些坑 2020-08-24
- 最新整理出的微信分享后端接口實(shí)現(xiàn)的大致流程 2020-08-24
- 微信公眾號(hào)開發(fā):商戶如何給用戶發(fā)紅包實(shí)例講解 2020-08-24
- 長(zhǎng)見識(shí)了,原來(lái)微信瀏覽器內(nèi)可以直接啟動(dòng)外部瀏覽器 2020-08-24
- 怎么創(chuàng)建微信公眾號(hào)自定義菜單欄?這里給出了權(quán)威解答 2020-08-24
- 微信公眾號(hào)開發(fā),實(shí)現(xiàn)倒計(jì)時(shí)的一個(gè)功能(純代碼) 2020-08-24