国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

使用HTML5拍照示例代碼

2020-03-24 19:25:07
字體:
來源:轉載
供稿:網友
演示地址: HTML5拍照演示
首先,我們看看HTML代碼結構,當然,這部分的DOM內容應該是在用戶允許使用其攝像頭事件出發后,動態加載生成的。
注意: 我們采用的是 640X480的分辨率,如果采用JS動態生成,那么您是可以靈活控制分辨率的。

復制代碼代碼如下:
!--
聲明: 此div應該在允許使用webcam,網絡攝像頭之后動態生成
寬高: 640 *480,當然,可以動態控制啦!
--
!--
Ideally these elements aren't created until it's confirmed that the
client supports video/camera, but for the sake of illustrating the
elements involved, they are created with markup (not JavaScript)
--
video id="video" width="640" height="480" autoplay /video
button id="snap" Snap Photo /button
canvas id="canvas" width="640" height="480" /canvas

JavaScript
只要上面的html' target='_blank'>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。
最后,貼上完整的代碼,比較呆板。

復制代碼代碼如下:
!DOCTYPE html
html
head
title 瀏覽器webcamera /title
meta name="Generator" content="EditPlus"
meta name="Author" content="renfufei@qq.com"
meta name="Description" content="inveted by: http://davidwalsh.name/browser-camera"
script
// 設置事件監聽,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);
/script
/head
body
div
!--
聲明: 此div應該在允許使用webcam,網絡攝像頭之后動態生成
寬高: 640 *480,當然,可以動態控制啦!
--
!--
Ideally these elements aren't created until it's confirmed that the
client supports video/camera, but for the sake of illustrating the
elements involved, they are created with markup (not JavaScript)
--
video id="video" width="640" height="480" autoplay /video
button id="snap" Snap Photo /button
canvas id="canvas" width="640" height="480" /canvas
/div
/body
/html
html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大兴区| 东山县| 菏泽市| 金沙县| 区。| 潜山县| 多伦县| 大埔县| 达拉特旗| 栾川县| 康保县| 莲花县| 玉树县| 长春市| 平乐县| 马鞍山市| 雷州市| 金寨县| 镇江市| 文安县| 措美县| 宝丰县| 璧山县| 临江市| 会东县| 芮城县| 宜都市| 加查县| 筠连县| 祁连县| 贺兰县| 砚山县| 阿尔山市| 乌海市| 泊头市| 商水县| 元朗区| 星子县| 新密市| 武宣县| 九寨沟县|