您现在的位置是:网站首页> 编程资料编程资料
微信小程序调用摄像头实现拍照功能_javascript技巧_
2023-05-24
548人已围观
简介 微信小程序调用摄像头实现拍照功能_javascript技巧_
本文实例为大家分享了微信小程序调用摄像头实现拍照的具体代码,供大家参考,具体内容如下
微信小程序开发文档
首先,需要用户授权摄像头权限,这一步是必须的
具体步骤:
1、获取用户当前授权状态,看是否已经授权,如果已经授权直接显示摄像头
2、如果用户还没有授权,则调起授权弹框,用户允许授权则显示摄像头
3、如果用户不允许,则提示用户去设置页面打开摄像头权限
用户授权之后,就可以进行拍摄了,微信的camera组件无法显示为圆形,我这里是用一张图片遮盖了
上代码:
wxml:
wxss:
.camera { width: 430rpx; height: 430rpx; border-radius: 50%; margin: 20px auto 0; position: relative; } .camera image { position: absolute; width: 100%; height: 100%; z-index: 10; } .camera camera { width: 428rpx; height: 428rpx; } button.takePhoto:not([size='mini']) { position: fixed; bottom: 0; left: 0; width: 100vw; height: 90rpx; border-radius: 0; }js:
Page({ data: { isAuth: false, src: '' }, onLoad() { const _this = this wx.getSetting({ success: res => { if (res.authSetting['scope.camera']) { // 用户已经授权 _this.setData({ isAuth: true }) } else { // 用户还没有授权,向用户发起授权请求 wx.authorize({ scope: 'scope.camera', success() { // 用户同意授权 _this.setData({ isAuth: true }) }, fail() { // 用户不同意授权 _this.openSetting().then(res => { _this.setData({ isAuth: true }) }) } }) } }, fail: res => { console.log('获取用户授权信息失败') } }) }, // 打开授权设置界面 openSetting() { const _this = this let promise = new Promise((resolve, reject) => { wx.showModal({ title: '授权', content: '请先授权获取摄像头权限', success(res) { if (res.confirm) { wx.openSetting({ success(res) { if (res.authSetting['scope.camera']) { // 用户打开了授权开关 resolve(true) } else { // 用户没有打开授权开关, 继续打开设置页面 _this.openSetting().then(res => { resolve(true) }) } }, fail(res) { console.log(res) } }) } else if (res.cancel) { _this.openSetting().then(res => { resolve(true) }) } } }) }) return promise; }, takePhoto() { const ctx = wx.createCameraContext() ctx.takePhoto({ quality: 'high', success: (res) => { this.setData({ src: res.tempImagePath }) wx.previewImage({ current: res.tempImagePath, // 当前显示图片的http链接 urls: [res.tempImagePath] // 需要预览的图片http链接列表 }) } }) } })以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- vue3配置全局参数(挂载全局方法)以及组件的使用_vue.js_
- javascript实现点击图片切换功能_javascript技巧_
- 一文详解Node中的文件模块与核心模块_node.js_
- 结合 ES6 类编写JavaScript 创建型模式_javascript技巧_
- JavaScript 中的引用类型Date 和RegExp的详细介绍_javascript技巧_
- 关于vue项目部署后刷新网页报404错误解决_vue.js_
- vuejs路由的传参及路由props配置详解_vue.js_
- JavaScript常用数组去重的方法及对比详解_javascript技巧_
- JavaScript 引用类型之原始值包装类型String_javascript技巧_
- vue项目打包发布后接口报405错误的解决_vue.js_
