首頁 >web前端 >H5教程 >HTML5呼叫手機相機拍照的實現想法及程式碼_html5教學技巧

HTML5呼叫手機相機拍照的實現想法及程式碼_html5教學技巧

WBOY
WBOY原創
2016-05-16 15:47:382396瀏覽

小編將想法提供給了大家,學程式最重要的是實踐,我這雖然有完善的程式碼,但是希望大家都可以自己寫出屬於自己的程式碼
HTML5 The Media Capture API提供了對攝影機的可編程訪問,用戶可以直接用getUserMedia獲得攝影機提供的視訊串流。但實際上用html5調用手機攝像頭存在很多問題:
1)谷歌的發布的Chrome到了21版本後,才新增了一個用於高質量視頻音頻通訊的getUserMedia API,該API允許Web應用程序訪問相機與麥克風,其他手機瀏覽器只有opera支援html5呼叫本地拍照功能
2)兩個瀏覽器皆不支援存取多個相機:chrome不支援存取後置鏡頭,pera支援存取後置相機的

android手機,瀏覽器chrome32版本下實現了瀏覽器調用設備相機進行拍照。主要分3個步驟來完成:

1)取得視訊串流
新增一個HTML5的Video標籤,並將從攝影機取得視訊作為這個標籤的輸入來源

複製程式碼
程式碼如下:

var video = 程式碼如下:


var video = 程式碼如下:

var video = 編碼navigator.getUserMedia({video:true}, function (stream) { video.src = window.webkitURL.createObjectURL(stream);
}, function (error) { alert(error); } );

2)拍照 關於拍照功能,採用HTML5的Canvas即時捕捉Video標籤的內容,Video元素能作為Canvas影像的輸入

複製程式碼


程式碼如下:


function scamera() {

function scamera() {
var canvasObj = document.getElementByIdx_x_x('canvas1'); var context1 = canvasObj.getContext('2d'); 🎜>context1.fillRect(0, 0, 320, 240);
context1.drawImage(videoElement, 0, 0, 320, 240);
}
)圖片取得 要從Canvas獲取圖片數據,其核心思路是用canvas的toDataURL將Canvas的數據轉換為base64位元編碼的PNG圖像


複製程式碼


程式碼如下: var imgData=canvas.toDataURL(“image/png”); imgData格式如下:”data:image/png;base64,xxxxx“ 真正圖像資料是base64編碼逗號之後的部分
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn