微信小程序实现身份证取景框拍摄


Posted in Javascript onSeptember 09, 2020

本文实例为大家分享了微信小程序实现身份证取景框拍摄的具体代码,供大家参考,具体内容如下

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="//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://cdn.ctoku.com/1123123123123e3241.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://cdn.ctoku.com/12311123342312231.png') no-repeat center;
 background-size: contain;
 border: none;
}
.camera_box .saveImg {
 background: url('https://cdn.ctoku.com/1232123434231231231.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({

 /**
 * 页面的初始数据
 */
 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)
 },
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 
 },

 /**
 * 生命周期函数--监听页面初次渲染完成
 */
 onReady: function () {
 
 },

 /**
 * 生命周期函数--监听页面显示
 */
 onShow: function () {
 
 },

 /**
 * 生命周期函数--监听页面隐藏
 */
 onHide: function () {
 
 },

 /**
 * 生命周期函数--监听页面卸载
 */
 onUnload: function () {
 
 },

 /**
 * 页面相关事件处理函数--监听用户下拉动作
 */
 onPullDownRefresh: function () {
 
 },

 /**
 * 页面上拉触底事件的处理函数
 */
 onReachBottom: function () {
 
 },

 /**
 * 用户点击右上角分享
 */
 onShareAppMessage: function () {
 
 }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 面向对象编程 万物皆对象
Sep 17 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
Mar 28 Javascript
jQuery :nth-child前有无空格的区别分析
Jul 11 Javascript
js字符串的各种格式的转换 ToString,Format
Aug 08 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
Nov 28 Javascript
微信小程序 Button 组件详解及简单实例
Jan 10 Javascript
微信小程序实现YDUI的ScrollTab组件
Feb 02 Javascript
详解js类型判断
May 22 Javascript
详解js中Array的方法及技巧
Sep 12 Javascript
10行代码实现微信小程序滑动tab切换
Dec 28 Javascript
个人小程序接入支付解决方案
May 23 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
Sep 09 #Javascript
微信小程序实现点击生成随机验证码
Sep 09 #Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 #Javascript
vue移动端写的拖拽功能示例代码
Sep 09 #Javascript
vue路由的配置和页面切换详解
Sep 09 #Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 #Javascript
在Vue中获取自定义属性方法:data-id的实例
Sep 09 #Javascript
You might like
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
PHP _construct()函数讲解
2019/02/03 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
js/jQuery实现全选效果
2019/06/17 jQuery
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
详解Python中的文本处理
2015/04/11 Python
Python NumPy库安装使用笔记
2015/05/18 Python
python中enumerate函数用法实例分析
2015/05/20 Python
python中常用的九种预处理方法分享
2016/09/11 Python
python3设计模式之简单工厂模式
2017/10/17 Python
200行python代码实现2048游戏
2019/07/17 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
Python处理PDF与CDF实例
2020/02/26 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
2015年售后服务工作总结
2015/04/25 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
卖车协议书范文
2016/03/23 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle