前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序官方组件展示之媒体组件camera源码

微信小程序官方组件展示之媒体组件camera源码

作者头像
软件事业部
发布2022-10-08 10:42:34
8190
发布2022-10-08 10:42:34
举报
文章被收录于专栏:软件事业部专栏

以下将展示微信小程序之媒体组件camera源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。

功能描述:

系统相机。扫码二维码功能,需升级微信客户端至6.7.3。需要用户授权 scope.camera。 2.10.0起 initdone 事件返回 maxZoom,最大变焦范围,相关接口 CameraContext.setZoom。

属性说明:

属性

类型

默认值

必填

说明

最低版本

mode

string

normal

应用模式,只在初始化时有效,不能动态变更

2.1.0

合法值

说明

normal

相机模式

scanCode

扫码模式

resolution

string

medium

分辨率,不支持动态修改

2.10.0

合法值

说明

low

medium

high

device-position

string

back

摄像头朝向

1.0.0

合法值

说明

front

前置

back

后置

flash

string

auto

闪光灯,值为 auto , on, off

1.0.0

合法值

说明

最低版本

auto

自动

on

打开

off

关闭

torch

常亮

2.8.0

frame-size

string

medium

指定期望的相机帧数据尺寸

2.7.0

合法值

说明

small

小尺寸帧数据

medium

中尺寸帧数据

large

大尺寸帧数据

bindstop

eventhandle

摄像头在非正常终止时触发,如退出后台等情况

1.0.0

binderror

eventhandle

用户不允许使用摄像头时触发

1.0.0

bindinitdone

eventhandle

相机初始化完成时触发,e.detail = {maxZoom}

2.7.0

bindscancode

eventhandle

在扫码识别成功时触发,仅在 mode="scanCode" 时生效

2.1.0

Bug & Tip

1.tip: 同一页面只能插入一个 camera 组件

2.tip:请注意原生组件使用限制

3.tip:onCameraFrame 接口根据 frame-size 返回不同尺寸的原始帧数据,与 Camera 组件展示的图像不同,其实际像素值由系统决定

示例代码

JAVASCRIPT

代码语言:javascript
复制
// camera.js
Page({
  takePhoto() {
    const ctx = wx.createCameraContext()
    ctx.takePhoto({
      quality: 'high',
      success: (res) => {
        this.setData({
          src: res.tempImagePath
        })
      }
    })
  },
  error(e) {
    console.log(e.detail)
  }
})

WXML

代码语言:javascript
复制
<!-- camera.wxml -->
<camera device-position="back" flash="off" binderror="error" style="width: 100%; height: 300px;"></camera>
<button type="primary" bindtap="takePhoto">拍照</button>
<view>预览</view>
<image mode="widthFix" src="{{src}}"></image>

版权声明: 本站所有内容均由互联网收集整理、上传,如涉及版权问题,请联系我们第一时间处理。

原文链接地址:https://developers.weixin.qq.com/miniprogram/dev/component/camera.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档