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


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 相关文章推荐
CSS+JS构建的图片查看器
Jul 22 Javascript
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
Sep 08 Javascript
超简单的jquery的AJAX用法
May 10 Javascript
jQuery 1.5最新版本的改进细节分析
Jan 19 Javascript
JS中Iframe之间传值的方法
Mar 11 Javascript
JS 实现图片直接下载示例代码
Jul 22 Javascript
js 触发select onchange事件代码
Mar 20 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
Feb 26 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 Javascript
JS使用Dijkstra算法求解最短路径
Jan 17 Javascript
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
Oct 22 Javascript
vue+iview实现文件上传
Nov 17 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中数据类型转换的三种方式
2015/04/02 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
Laravel中服务提供者和门面模式的入门介绍
2017/11/06 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
总结一些js自定义的函数
2006/08/05 Javascript
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
node.js中的require使用详解
2014/12/15 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
医药类个人求职的自我评价
2014/02/12 职场文书
残疾人小组计划书
2014/04/27 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
党员带头倡议书
2015/04/29 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书