2021-04-16 小程序自定义拍照界面

本文记录了在微信小程序中实现自定义拍照界面的过程,包括使用camera组件、cover-image添加蒙版,以及解决相机层级最高导致的按钮覆盖问题。在JavaScript中,通过定时器处理连续拍照并进行图片裁剪,注意每次绘制前需清空画布。
摘要由CSDN通过智能技术生成

需求,需要有一个人的人脸框,需要是一个单独的页面。UI给的图是需要进行裁剪

html:

用camera组件,用cover-image来加入蒙版。拍照的按钮需要不单独写在camera外面,因为camera在微信小程序的层级是最高的,所以是没办法用view去定位覆盖层级。所以这里就加一个按钮的图片用cover-image

<view class="container">
<!-- 拍照页面 -->
<view class="takePhoto" hover-class="none" hover-stop-propagation="false" wx:if="{
  {photo}}">
  <camera binderror="handleCameraError" device-position="front" style="height:100vh;width:100%" flash="off"  wx:if="{
  {authCamera}}">  
    <cover-view>  
      <cover-image class="line" src="https://gateway.office.k2software.cn:28088/file-rest/api/file/download//upload/c1115ad70c954c60bc205345b5780b82.png"></cover-image>  
      </cover-view>  
      <cover-image  src="/images/reports/Camera.png" bindtap="takePhoto"></cover-image>  
    </cover-view>  
  </camera>  
<!-- 如果没有授权,出现授权按钮重新授权 -->
 <view class="error-handler" wx:if="{
  {!authCamera}}">  
    <button class="nobtn" openType="openSetting" bindopensetting="openSetting">打开相机授权</button>  
</view>  
</view>
<!-- 重新拍照 -->
<view class="reTakePhoto" hover-class="none" hover-stop-propagation="false" wx:if="{
  {!photo}}">
  <view class="img" hover-class="none" hover-stop-propagation="false">
    <image src="{
  {tempImagePath}}" mode="widthFix" lazy-load="false"></image>
    <canvas canvas-id="image-canvas" style="width:{
  {windowWidth}}px;height:{
  {windowHeight}}px;position: absolute; left: -9999rpx;"></canvas>
      <view style="color:red;font-size:14px;" hover-class="none" hover-stop-propagation="false" wx:if="{
  {noQualified}}">
        {
  {errMsg}}
        </view>
  </view>
  <view class="reTakePhotobtn" hover-class="none" hover-stop-propagation="false"
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值