這次帶給大家微信小程式呼叫相機拍照,微信小程式調用相機拍照的注意事項有哪些,以下就是實戰案例,一起來看一下。
在某些進行簽到的場景,為了防止使用者選擇相簿的照片或不即時拍照,設定相機倒數自動拍照。
一、首先是視圖層index.wxml,視圖層主要負責顯示元件和圖片。
<!--index.wxml--> <view class="userinfo-login"> <view class="page-body"> <view class="page-body-wrapper"> <view wx:if="{{src}}"></view> <!-- 如果存在已经拍好的照片就不再显示调用摄像头的组件--> <view wx:else> <camera device-position="back" flash="off" binderror="error" style="width: 100%; height: 200px;"></camera> <!-- 调用摄像头的组件--> </view> <image wx:if="{{src}}" mode="widthFix" src="{{src}}"></image> <!-- 显示拍好的照片--> </view> </view> </view>
二、邏輯層index.js,呼叫倒數函數並且呼叫相機拍照並儲存圖片。
//index.js const app = getApp() Page({ data: { userInfo: {}, counting: false//倒计时 }, onLoad: function () { this.daojishi();//一进来就拍照倒计时 this.ctx = wx.createCameraContext()//创建摄像头对象 }, //倒计时 daojishi: function () { var that = this; if (!that.data.counting) { //开始倒计时5秒 countDown(that, 5); } } }) //倒计时函数 在page外 function countDown(that, count) { if (count == 0) { //等于0时拍照 that.ctx.takePhoto({ quality: 'high', success: (res) => { that.setData({ src: res.tempImagePath }) wx.showToast({ title: '拍照完成', }) } }) that.setData({ counting: false }) return; } wx.showLoading({//加载时显示倒计时 title: '拍照倒计时'+count+'秒', }) setTimeout(function () { wx.hideLoading() }, 1000) that.setData({ counting: true, }) setTimeout(function () { count--; countDown(that, count); }, 1000); }
我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是微信小程式呼叫相機拍照的詳細內容。更多資訊請關注PHP中文網其他相關文章!