H5调用本地摄像头拍摄照片

前言

最近项目中需要H5调用本地摄像头拍照的需求。

代码

<canvas id="canvasCemara" width="500" height="500"></canvas>
<video autoplay="" id="video2" style="width:500px;height:500px;"></video>
<button id="btn">拍摄</button>

html 部分就这些 一个canvas 一个 video  一个button 
video  展示摄像头捕获的视频
canvas 负责展示拍摄的照片

var video = document.getElementById('video2');
var constraints = {audio: false, video: true};
 function successCallback(stream) {
     video.srcObject = stream;
     video.play();
 }
 function errorCallback(error) {
     console.log("navigator.getUserMedia error: ", error);
     $(".CameraTips").show();
 }

 navigator.mediaDevices.getUserMedia(constraints)
     .then(successCallback)
     .catch(errorCallback);

document.getElementById("btn").addEventListener("click", function () {
    var video = document.getElementById('video2');
    canvas = document.getElementById('canvasCemara');
    ctx = canvas.getContext('2d');
    var _w = 624, _h = 468;
    if (video.videoWidth > 0) _h = video.videoHeight / (video.videoWidth / _w);
    canvas.setAttribute('width', _w);
    canvas.setAttribute('height', _h);
    ctx.fillRect(0, 0, _w, _h);
    ctx.drawImage(video, 0, 0, _w, _h);
});

按下btn 将视频中的内容画在canvas里面 完成拍摄效果。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值