> 웹 프론트엔드 > JS 튜토리얼 > WeChat 애플릿은 카메라를 호출하여 사진을 찍습니다.

WeChat 애플릿은 카메라를 호출하여 사진을 찍습니다.

php中世界最好的语言
풀어 주다: 2018-06-11 09:25:03
원래의
14283명이 탐색했습니다.

이번에는 카메라를 호출하여 사진을 찍는 WeChat 애플릿을 가져오겠습니다. WeChat 애플릿이 카메라를 호출하여 사진을 찍을 때 주의사항은 무엇인가요?

일부 체크인 시나리오에서는 사용자가 앨범에서 사진을 선택하거나 실시간으로 사진을 찍지 못하는 것을 방지하기 위해 카메라가 카운트다운되어 자동으로 사진을 찍도록 설정되어 있습니다.

1. 첫 번째는 뷰 레이어 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>
로그인 후 복사

2. 논리 레이어 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 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

BubbleTransition 실제 사례 자세한 설명

vue+props 데이터 전송 구현 방법

위 내용은 WeChat 애플릿은 카메라를 호출하여 사진을 찍습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿