首页 > web前端 > H5教程 > 正文

使用HTML5拍照示例代码_html5教程技巧

php中文网
发布: 2016-05-16 15:49:01
原创
1895人浏览过

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

复制代码
代码如下:







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

复制代码
代码如下:

// 设置事件监听,DOM内容加载完成,和jQuery的$.ready() 效果差不多。
window.addEventListener("DOMContentLoaded", function() {
// canvas 元素将用于抓拍
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
// video 元素,将用于接收并播放摄像头 的数据流
video = document.getElementById("video"),
videoObj = { "video": true },
// 一个出错的回调函数,在控制台打印出错信息
errBack = function(error) {
if("object" === typeof window.console){
console.log("Video capture error: ", error.code);
}
};
// Put video listeners into place
// 针对标准的浏览器
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
// 对拍照按钮的事件监听
document.getElementById("snap").addEventListener("click", function() {
// 画到画布上
context.drawImage(video, 0, 0, 640, 480);
});
}, false);

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

复制代码
代码如下:




浏览器webcamera



<script> <br />// 设置事件监听,DOM内容加载完成,和jQuery的$.ready() 效果差不多。 <br />window.addEventListener("DOMContentLoaded", function() { <br />// canvas 元素将用于抓拍 <br />var canvas = document.getElementById("canvas"), <br />context = canvas.getContext("2d"), <br />// video 元素,将用于接收并播放摄像头 的数据流 <br />video = document.getElementById("video"), <br />videoObj = { "video": true }, <br />// 一个出错的回调函数,在控制台打印出错信息 <br />errBack = function(error) { <br />if("object" === typeof window.console){ <br />console.log("Video capture error: ", error.code); <br />} <br />}; <br />// Put video listeners into place <br />// 针对标准的浏览器 <br />if(navigator.getUserMedia) { // Standard <br />navigator.getUserMedia(videoObj, function(stream) { <br />video.src = stream; <br />video.play(); <br />}, errBack); <br />} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed <br />navigator.webkitGetUserMedia(videoObj, function(stream){ <br />video.src = window.webkitURL.createObjectURL(stream); <br />video.play(); <br />}, errBack); <br />} <br />// 对拍照按钮的事件监听 <br />document.getElementById("snap").addEventListener("click", function() { <br />// 画到画布上 <br />context.drawImage(video, 0, 0, 640, 480); <br />}); <br />}, false); <br /></script>











HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号