第20课 微信小程序实现相机拍照功能

第20课 微信小程序实现相机拍照功能

效果图如下:

在这里插入图片描述

camera标签自动打开摄像头

camera标签详情: https://developers.weixin.qq.com/miniprogram/dev/component/camera.html

首先wxml代码:

<view>
  <text>相机拍照功能</text>
  <button class="photo" bindtap="takePhoto">点击拍照</button>
</view>

js代码:

takePhoto(){	
    wx.navigateTo({
      url: '/pages/photo/photo',	//跳转到自定义的一个拍照页面
    })
  },

pages/photo/photo页面内的代码如下:

wxml代码:

<camera
  class="camera"
  frame-size="large"
></camera>
  <!-- frame-size="large"拍照图片高清 -->
<button class='record' bindtap='record'>拍摄</button>

js代码

相机方法的使用文档
https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html

  // 拍摄按钮按下, 执行record 触发拍摄
  record(){
    this.data.cameraContext = wx.createCameraContext()
    this.data.cameraContext.takePhoto({
      quality:"high", //高质量的图片
      success: res => {
        //res.tempImagePath照片文件在手机内的的临时路径
        let tempImagePath = res.tempImagePath
        wx.saveFile({
          tempFilePath: tempImagePath,
          success: function (res) {
            //返回保存时的临时路径 res.savedFilePath
            const savedFilePath = res.savedFilePath
            // 保存到本地相册
            wx.saveImageToPhotosAlbum({
              filePath: savedFilePath,
            })
          },
          //保存失败回调(比如内存不足)
          fail: console.log
        })
      }
    })
  }

wxss代码:

/* pages/photo/photo.wxss */
.camera{
  width: 100vw;
  height: 100vh;
}
.record{
  position: fixed;
  bottom: 10rpx;
  left: 0;
  right: 0;
  width: 120rpx;
  height: 120rpx;
  margin: auto;
  border-radius: 50%;
}
  • 13
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值