這篇文章主要介紹小程序怎么實(shí)現(xiàn)朋友圈圖片的生成,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司專注于中大型企業(yè)的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶近千家,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站制作和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長!微信的小程序是沒有分享到朋友圈的功能的。小程序目前只能分享到群里或者發(fā)給好友。但是業(yè)務(wù)需要方便推廣,需要分享到朋友圈。
經(jīng)過度娘后,得出了以下思路:利用小程序canvas繪制圖片,將背景圖和二維碼繪制成一張圖片。百度過幾個(gè)好的demo,參考了一下,本以為會很簡單就解決這個(gè)問題,然而這個(gè)并不是小程序canvas的難點(diǎn)!
WXML
、
這是觸發(fā)canvas的按鈕
繪制長按識別二維碼
settext: function (context) { let _this = this; var size = _this.setCanvasSize(); var text = "長按識別小程序"; context.setFontSize(12); context.setTextAlign("center"); context.setFillStyle("#000"); context.fillText(text, size.w / 2, size.h * 0.90); context.stroke(); },
繪制圖片
createNewImg: function () { var _this = this; var size = _this.setCanvasSize(); var context = wx.createCanvasContext('myCanvas'); var path = "/assets/images/qrshare1.jpg"; //測試的圖片 var imageQrCode = _this.data.filePath; //二維碼 context.drawImage(path, 0, 0, size.w, size.h); context.drawImage(imageQrCode, size.w / 2 - 55, size.h * 0.55, size.w * 0.33, size.w * 0.33); this.settext(context); //繪制圖片 context.draw(); //將生成好的圖片保存到本地,需要延遲一會,繪制期間耗時(shí) wx.showToast({ title : '生成中...', icon : 'loading', duration: 2000 }); setTimeout(function () { wx.canvasToTempFilePath({ canvasId: 'myCanvas', success : function (res) { var tempFilePath = res.tempFilePath; _this.setData({ imagePath : tempFilePath, }); var img = _this.data.imagePath; let urls = [] urls.push(img, '二維碼路徑') //二維碼路徑是為了用戶也可以保存二維碼,分享到朋友圈有合成的圖片也有二維碼(參考拉鉤小程序分享) wx.previewImage({ current: img, // 當(dāng)前顯示圖片的http鏈接 urls : urls // 需要預(yù)覽的圖片http鏈接列表 }) }, fail: function (res) { console.log(res); } }); }, 2000); },
本來我是直接繪制網(wǎng)絡(luò)圖片的,但是在真機(jī)上,網(wǎng)絡(luò)圖片不顯示!于是百度了一下,可以先下載,接口返回的圖片再繪制
//生成朋友圈圖片 createSharePic() { let _this = this, qrcode= _this.data.qrcode wx.downloadFile({ url : qrcode, success: function (res) { if (res.statusCode === 200) { _this.setData({ filePath: res.tempFilePath, }) _this.createNewImg(); } } }) }
問題出來了,本地上測試沒問題,遠(yuǎn)程調(diào)試也沒問題,可以生成圖片保存到手機(jī)
納悶了一會之后,我發(fā)現(xiàn)自己沒有后臺添加download的下載域名。因?yàn)槠綍r(shí)在本地的都是勾選了不檢查域名。所以在這納悶了很久?。。。。。。?/p>
以上是“小程序怎么實(shí)現(xiàn)朋友圈圖片的生成”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!