H5如何实现拍照功能

  介绍

这篇文章将为大家详细讲解有关H5如何实现拍照功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

HTML5拍照首先,我们看看HTML代码结构,当然,这部分的DOM内容应该是在用户允许使用其摄像头事件出发后,动态加载生成的,感兴趣的朋友可以了解下   演示地址:HTML5拍照演示
首先,我们看看HTML代码结构,当然,这部分的DOM内容应该是在用户允许使用其摄像头事件出发后,动态加载生成的。
注意:我们采用的是640 x480的分辨率,如果采用JS动态生成,那么您是可以灵活控制分辨率的。

代码如下:

& lt; !—   声明:此p应该在允许使用摄像头,网络摄像头之后动态生成   宽高:640 * 480,当然,可以动态控制啦!   ——比;   & lt; !   Ide   所有   y这些元素是# 39;t创建直到变# 39;证实了   客户端支持视频/相机,但是   为   为了说明   元素参与,他们创建标记(不是   JavaScript   )   ——比;   & lt;视频id=皏ideo"   宽度=?40”;   高度=?80”;   播放   祝辞& lt;/video>   & lt;按钮id=皊nap"祝辞提前Photo   & lt;   帆布   id=癱anvas"宽度=?40”;身高=?80“祝辞& lt;/canvas>

JavaScript
只要上面的HTML元素创建完成,那么JavaScript部分将简单的超乎你想象的简单:

代码如下:

//设置事件监听,DOM内容加载完成,和   jQuery   的美元时()效果差不多。   window.addEvent   列表   释放埃拉(“DOMContentLoaded"、功能(){//帆布元素将用于抓拍   画布var=文档   .getElementById (“canvas"),   上下文=canvas.getContext (“2 d"),//视频元素,将用于接收并播放摄像头的数据流   视频=. getelementbyid (“video"),   videoObj={“video":真},//一个出错的   回调函数   ,在控制台打印出错信息   errBack=function(错误){   如果   (“;   对象   “;===typeof window.console) {   console.log(“视频捕捉错误:“,error.code);   }   };//把视频的听众//针对标准的浏览器   如果(navigator.getUserMedia){//标准   导航器。getUserMedia (videoObj函数(流){   视频。src=https://www.yisu.com/zixun/stream;   video.play ();   },errBack);   }   其他的   如果(navigator.webkitGetUserMedia) {//WebKit-prefixed   导航器。webkitGetUserMedia (videoObj函数(流){   视频。src=window.webkitURL.createObjectURL(流);   video.play ();   },errBack);   }//对拍的照   按钮   的事件监听   . getelementbyid(“临时”)。addEventListener(“点击”,函数(){//画到画布上   上下文。drawImage(视频,0,0,640,480);   });   },假);

最后,记得讲您的网页放到web服务器下面,然后通过http协议来访问哦。
另外,需要浏览器版本较新,并且支持HTML5的相关新特性才可以。
译者不算称职啦,没有按原文来翻译。使用的浏览器是chrome 28。
最后,贴上完整的代码,比较呆板。

代码如下:

& lt; !DOCTYPE html>   & lt; html>   & lt; head>   & lt; title>浏览器webcamera & lt;/title>   & lt;元名称=癎enerator"内容=癊ditPlus"比;   & lt;元名称=癆uthor",内容=皉enfufei@qq.com"的在   & lt;元名称=癉escription",内容=癷nveted: http://davidwalsh.name/browser-camera"的在;   & lt; script>//设置事件监听,DOM内容加载完成,和jQuery的美元时()效果差不多。   window.addEventListener (“DOMContentLoaded"、功能(){//帆布元素将用于抓拍   画布var=. getelementbyid (“canvas"),   上下文=canvas.getContext (“2 d"),//视频元素,将用于接收并播放摄像头的数据流   视频=. getelementbyid (“video"),   videoObj={“video":真},//一个出错的回调函数,在控制台打印出错信息   errBack=function(错误){   如果(“object"===typeof window.console) {   console.log(“视频捕捉错误:“,error.code);   }   };//把视频的听众//针对标准的浏览器   如果(navigator.getUserMedia){//标准   导航器。getUserMedia (videoObj函数(流){   视频。src=https://www.yisu.com/zixun/stream;   video.play ();   },errBack);   }如果(navigator.webkitGetUserMedia) {//WebKit-prefixed   导航器。webkitGetUserMedia (videoObj函数(流){   视频。src=window.webkitURL.createObjectURL(流);   video.play ();   },errBack);   }//对拍照按钮的事件监听   . getelementbyid(“临时”)。addEventListener(“点击”,函数(){//画到画布上   上下文。drawImage(视频,0,0,640,480);   });   },假);>

H5如何实现拍照功能