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


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 相关文章推荐
网站页面自动跳转实现方法PHP、JSP(下)
Aug 01 Javascript
jquery maxlength使用说明
Sep 09 Javascript
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
JavaScript的原型继承详解
Feb 15 Javascript
javascript版2048小游戏
Mar 18 Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 Javascript
详解js的事件代理(委托)
Dec 22 Javascript
js数组与字符串常用方法总结
Jan 13 Javascript
使用Node.js搭建静态资源服务详细教程
Aug 02 Javascript
React 源码中的依赖注入方法
Nov 07 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
Zend Framework入门应用实例详解
2016/12/11 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
python中split方法用法分析
2015/04/17 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
一份python入门应该看的学习资料
2018/04/11 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
python操作excel的方法
2018/08/16 Python
Python函数式编程实例详解
2020/01/17 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
python输入中文的实例方法
2020/09/14 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
解释下面关于J2EE的名词
2013/11/15 面试题
大学生工作自荐书
2014/06/16 职场文书
2014国庆节标语口号
2014/09/19 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
刑事法律意见书
2015/06/04 职场文书