這篇文章主要介紹“如何實(shí)現(xiàn)HTML5 Canvas+JS控制電腦或手機(jī)上的攝像頭”,在日常操作中,相信很多人在如何實(shí)現(xiàn)HTML5 Canvas+JS控制電腦或手機(jī)上的攝像頭問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何實(shí)現(xiàn)HTML5 Canvas+JS控制電腦或手機(jī)上的攝像頭”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)是專業(yè)的康保網(wǎng)站建設(shè)公司,康保接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行康保網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!HTML代碼
下面的代碼里我寫了一部分注釋,請(qǐng)閱讀:
代碼如下:
<!--
理想情況下我們應(yīng)該先判斷你的設(shè)備上是否
有攝像頭或相機(jī),但簡(jiǎn)單起見,我們?cè)谶@里直接
寫出了HTML標(biāo)記,而不是用JavaScript先判斷
然后動(dòng)態(tài)生成這些標(biāo)記
-->
<video id="video" width="640" height="480" autoplay></video>
<button id="snap">Snap Photo</button>
<canvas id="canvas" width="640" height="480"></canvas>
在寫出上面這些標(biāo)記前應(yīng)該判斷用戶的客戶端是否有攝像頭支持,但這里為了不那么麻煩,這里直接寫出了這些HTML標(biāo)記,需要注意的是我們這里使用的長(zhǎng)寬是640×480。
JavaScript代碼
因?yàn)槲覀兪鞘止懗龅腍TML,所以下面的js代碼會(huì)比你想象的要簡(jiǎn)單了很多。
代碼如下:
// Put event listeners into place
window.addEventListener("DOMContentLoaded", function() {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true },
errBack = function(error) {
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);
}
else if(navigator.mozGetUserMedia) { // Firefox-prefixed
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
}, false);
一旦判斷出用戶瀏覽器支持getUserMedia ,下面就非常簡(jiǎn)單了,只需要將那個(gè)video元素的src設(shè)置為用戶的攝像頭視頻直播連接。這就是用瀏覽器訪問攝像頭需要做的所有的事情!
拍照的功能只能說是稍微復(fù)雜一點(diǎn)點(diǎn)。我們?cè)诎粹o上加入一個(gè)監(jiān)聽器,將視頻畫面畫到畫布上。
代碼如下:
// 觸發(fā)拍照動(dòng)作
document.getElementById("snap")
.addEventListener("click", function() {
context.drawImage(video, 0, 0, 640, 480);
});
到此,關(guān)于“如何實(shí)現(xiàn)HTML5 Canvas+JS控制電腦或手機(jī)上的攝像頭”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
本文題目:如何實(shí)現(xiàn)HTML5Canvas+JS控制電腦或手機(jī)上的攝像頭-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article2/ccoioc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站制作、網(wǎng)站維護(hù)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容