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


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 相关文章推荐
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
Aug 14 Javascript
Javascript中的delete介绍
Sep 02 Javascript
javascript静态页面传值的三种方法分享
Nov 12 Javascript
js换图片效果可进行定时操作
Jun 09 Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
May 11 Javascript
js 获取经纬度的实现方法
Jun 20 Javascript
JS实现中英文混合文字溢出友好截取功能
Aug 06 Javascript
Vue实现多标签选择器
Nov 28 Javascript
小程序实现长按保存图片的方法
Dec 31 Javascript
Vue3中的Refs和Ref详情
Nov 11 Vue.js
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代码的53条建议
2008/03/27 PHP
改写函数实现PHP二维/三维数组转字符串
2013/09/13 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
python生成器的使用方法
2013/11/21 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
教师求职信范文分享
2013/12/27 职场文书
优质服务活动实施方案
2014/05/02 职场文书
张丽莉事迹观后感
2015/06/16 职场文书