您好,登錄后才能下訂單哦!
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)身份證取景框拍攝的具體代碼,供大家參考,具體內(nèi)容如下
wxml
<view class="camera_box"> <camera class="camera" wx:if="{{!show}}" device-position="back" flash="off" binderror="error"> <cover-view class="id_m"> <cover-image class="img" src="http://img.jbzj.com/file_images/article/202009/202099172501721.png"></cover-image> </cover-view> </camera> <image class="camera_img" src="{{src}}" wx:if="{{show}}"></image> <view class="action"> <button class="takeBtn" type="primary" bindtap="takePhoto" wx:if="{{!show}}"></button> <button class="saveImg" type="primary" bindtap="saveImg" wx:if="{{show}}"></button> <button class="cancelBtn" wx:if="{{show}}" type="primary" bindtap="cancelBtn"></button> </view> </view>
wxss
.camera_box { height: 100vh; width: 100vw; position: relative; } .camera { height: 85vh; width: 100vw; z-index: 1; } .id_m { height: 85vh; width: 100vw; z-index: 999; background: rgba(0, 0, 0, 0.1); display: flex; position: absolute; } .id_m .img { width: 550rpx; height: 900rpx; display: block; position: absolute; left: 0; right: 0; margin: auto auto; top: 0; bottom: 0; } .id_m .tips_txt { transform:rotate(90deg); } .camera_box .action { height: 15vh; position: relative; display: flex; justify-content: space-around; align-items: center; } .camera_box .takeBtn { height: 120rpx; width: 120rpx; border-radius: 50%; font-size: 24rpx; background: url('https://cache.yisu.com/upload/information/20200909/112/4082.png') no-repeat center; background-size: contain; border: none; } .camera_box .cancelBtn { font-size: 24rpx; height: 120rpx; width: 120rpx; border-radius: 50%; background: url('https://cache.yisu.com/upload/information/20200909/112/4083.png') no-repeat center; background-size: contain; border: none; } .camera_box .saveImg { background: url('https://cache.yisu.com/upload/information/20200909/112/4084.png') no-repeat center; font-size: 24rpx; height: 120rpx; width: 120rpx; border-radius: 50%; background-size: contain; border: none; } .camera_box .takeBtn::after { border: none; } .camera_img { height: 85vh; width: 100%; }
js
Page({ /** * 頁(yè)面的初始數(shù)據(jù) */ data: { src: '', show: false }, cancelBtn () { this.setData({show: false}) }, saveImg () { wx.showModal({ title: '圖片地址', content: this.data.src, }) }, takePhoto() { const ctx = wx.createCameraContext() const listener = ctx.onCameraFrame((frame) => { console.log(frame) }) ctx.takePhoto({ quality: 'high', success: (res) => { console.log(res) this.setData({ src: res.tempImagePath, show: true }) listener.stop({ success: (res) => { console.log(res) }, fail: (err) =>{ console.log(err) } }) }, fail: (err) => { console.log(err) } }) }, error(e) { console.log(e.detail) }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面加載 */ onLoad: function (options) { }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面初次渲染完成 */ onReady: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面顯示 */ onShow: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面隱藏 */ onHide: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁(yè)面卸載 */ onUnload: function () { }, /** * 頁(yè)面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動(dòng)作 */ onPullDownRefresh: function () { }, /** * 頁(yè)面上拉觸底事件的處理函數(shù) */ onReachBottom: function () { }, /** * 用戶點(diǎn)擊右上角分享 */ onShareAppMessage: function () { } })
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。