今天就跟大家聊聊有關(guān)怎么在小程序中實(shí)現(xiàn)圖片長(zhǎng)按識(shí)別功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比鳩江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式鳩江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鳩江地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
1.文檔中有一句提示:
"image組件中二維碼/小程序碼圖片不支持長(zhǎng)按識(shí)別,僅在 wx.previewImage 中支持長(zhǎng)按識(shí)別"
2.即便實(shí)現(xiàn)了 “wx.previewImage” 效果,但依舊是不支持二維碼識(shí)別的
附錄文檔位置:小程序圖片長(zhǎng)按識(shí)別
代碼設(shè)計(jì)
好在這也是一個(gè)不錯(cuò)的知識(shí)點(diǎn),在此進(jìn)行一番實(shí)現(xiàn)流程的記錄,歡迎指摘.
①. wxml 頁(yè)面元素設(shè)計(jì)
作為引導(dǎo)界面,只需放置一張圖片即可,以我的代碼為例
//# 使用簡(jiǎn)單的實(shí)現(xiàn)方式,直接賦值一個(gè)圖片鏈接得了 <image src="https://img.fetow.com/Public/Index/images/shewm.jpg" mode="widthFix" data-src="https://img.fetow.com/Public/Index/images/shewm.jpg" bindtap="previewImage"></image>
②. js 文件實(shí)現(xiàn) “previewImage”方法
在對(duì)應(yīng)的 js 文件中,添加了如下的方法
/** * 圖片預(yù)覽方法 * 此處注意的一點(diǎn)就是,調(diào)用 "wx.previewImage"時(shí),第二個(gè)參數(shù)要求為數(shù)組形式哦 * 當(dāng)然,做過圖片上傳功能的應(yīng)該會(huì)注意到,如果涉及到多張圖片預(yù)覽,圖片鏈接數(shù)組集合即為參數(shù) urls! */ previewImage: function(e) { var current = e.target.dataset.src; wx.previewImage({ current: current, urls: [current] }) },
③. 實(shí)現(xiàn)效果
可以發(fā)現(xiàn),下圖中是沒有“識(shí)別圖中二維碼”的選項(xiàng)
如果發(fā)送給了好友或者自行保存后,在微信中打開的并長(zhǎng)按的效果如下:
出現(xiàn)問題:
1.服務(wù)器上發(fā)送過來的圖片路徑直接插進(jìn)ctx.drawImage 上,手機(jī)上顯示不了。
解決方案:利用wx.downloadFile 將圖片下載再保存好這個(gè)新圖片路徑,然后放到ctx.drawImage 上
//下載圖片 onShow1: function (object) { let _this = this; _this.setData({ isShowCav: true }) wx.downloadFile({ url: object.avatarurl, success: function (sres) { _this.setData({ canvasUserPic: sres.tempFilePath }); wx.downloadFile({ url: object.show_img, success: function (sres1) { _this.setData({ canvasShowImg: sres1.tempFilePath }); _this.canvas(object); } }) } }) },
2.canvas出現(xiàn)在手機(jī)上的頂層,不管z-index設(shè)置多少層都沒有用。
解決方案:利用wx:if="{{isShowCav}}" 將canvas臨時(shí)隱藏,要用到的時(shí)候再顯示。不用再隱藏掉。
3.canvas里面的文字如何居中,官方文檔雖然提供了案例,但是沒有說具體是怎么用的。
解決方案:
const ctx = wx.createCanvasContext('myCanvas') ctx.setStrokeStyle('red') ctx.moveTo(150, 20) ctx.lineTo(150, 170) ctx.stroke() ctx.setFontSize(15) ctx.setTextAlign('left') ctx.fillText('textAlign=left', 150, 60) ctx.setTextAlign('center') ctx.fillText('textAlign=center', 150, 80) ctx.setTextAlign('right') ctx.fillText('textAlign=right', 150, 100) ctx.draw()
看完上述內(nèi)容,你們對(duì)怎么在小程序中實(shí)現(xiàn)圖片長(zhǎng)按識(shí)別功能有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
文章名稱:怎么在小程序中實(shí)現(xiàn)圖片長(zhǎng)按識(shí)別功能
文章分享:http://jinyejixie.com/article2/jjicic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司、標(biāo)簽優(yōu)化、網(wǎng)站導(dǎo)航、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)