婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > html5拍照功能實現代碼(htm5上傳文件)

html5拍照功能實現代碼(htm5上傳文件)

熱門標簽:臨海地圖標注app 四川移動電銷外呼客戶管理系統 怎么做百度地圖標注 咸陽穩定外呼系統軟件 百度地圖標注為什么總是封號 智能芯電話機器人 小朱地圖標注 400開頭的電話好申請不 地圖標注柱狀圖

1、 視頻流

HTML5 The Media Capture API提供了對攝像頭的可編程訪問,用戶可以直接用getUserMedia獲得攝像頭提供的視頻流。我們需要做的是添加一個HTML5的Video標簽,并將從攝像頭獲得視頻作為這個標簽的輸入來源(請注意目前僅Chrome和Opera支持getUserMedia)。


復制代碼
代碼如下:

<videoidvideoid=”video”autoplay=”"></video>
<script>
varvideo_element=document.getElementById(‘video’);
if(navigator.getUserMedia){//operashoulduseopera.getUserMedianow
navigator.getUserMedia(‘video’,success,error);
}
functionsuccess(stream){
video_element.src=stream;
}
</script>

視頻流

2、 拍照

拍照功能,我們采用HTML5的Canvas實時捕獲Video標簽的內容,Video元素能作為Canvas圖像的輸入,這一點很棒。主要代碼如下:

 

復制代碼
代碼如下:

JavaScript Code復制內容到剪貼板
var canvas=document.createElement(‘canvas’);
var ctx=canvas.getContext(’2d’);
var cw=vw;
var ch=vh;
ctx.fillStyle=”#ffffff”;
ctx.fillRect(0,0,cw,ch);
ctx.drawImage(video_element,0,0,vvw,vvh,0,0,vw,vh);
document.body.append(canvas);

3、 圖片獲取

下面我們要從Canvas獲取圖片數據,其核心思路是用canvas的toDataURL將Canvas的數據轉換為base64位編碼的PNG圖像,類似于“data:image/png;base64,xxxxx”的格式。


復制代碼
代碼如下:

var imgData=canvas.toDataURL(“image/png”);

因為真正圖像數據是base64編碼逗號之后的部分,所以我們實際服務器處理的圖像數據應該是這部分,我們可以用兩種辦法來獲取。

第一種:是在前端截取22位以后的字符串作為圖像數據,例如:


復制代碼
代碼如下:

var data=imgData.substr(22);

如果要在上傳前獲取圖片的大小,可以使用:

 

復制代碼
代碼如下:

var length=atob(data).length;//atobdecodesastringofdatawhichhasbeenencodedusingbase-64encoding

第二種:是在后端獲取傳輸的數據后用后臺語言截取22位以后的字符串。例如PHP里:


復制代碼
代碼如下:

$image=base64_decode(str_replace(‘data:image/jpeg;base64,’,”,$data);

4、 圖片上傳

在前端可以使用Ajax將上面獲得的圖片數據上傳到后臺腳本。例如使用jQuery時:


復制代碼
代碼如下:

$.post(‘upload.php’,{‘data’:data});

 在后臺我們用PHP腳本接收數據并存儲為圖片。

復制代碼
代碼如下:

functionconvert_data($data){
$image=base64_decode(str_replace(‘data:image/jpeg;base64,’,”,$data);
save_to_file($image);
}
functionsave_to_file($image){
$fp=fopen($filename,’w');
fwrite($fp,$image);
fclose($fp);
}

請注意,以上的解決方案不僅能用于Web App拍照上傳,并且你可以實現把Canvas的輸出轉換為圖片上傳的功能。這樣你可以使用Canvas為用戶提供圖片編輯,例如裁剪、上色、涂鴉的畫板功能,然后把用戶編輯完的圖片保存到服務器上。

標簽:南平 平涼 黃石 公主嶺 陜西 平頂山 山南 黃石

巨人網絡通訊聲明:本文標題《html5拍照功能實現代碼(htm5上傳文件)》,本文關鍵詞  html5,拍照,功能,實現,代碼,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5拍照功能實現代碼(htm5上傳文件)》相關的同類信息!
  • 本頁收集關于html5拍照功能實現代碼(htm5上傳文件)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 焦作市| 呼伦贝尔市| 鄂尔多斯市| 灵寿县| 成武县| 大洼县| 茶陵县| 合作市| 哈巴河县| 慈利县| 屯留县| 上蔡县| 洪江市| 汶上县| 南和县| 黔西县| 宜宾县| 克拉玛依市| 常山县| 武山县| 兰西县| 江津市| 蓬溪县| 郧西县| 万载县| 砀山县| 阜平县| 尚义县| 巴林左旗| 留坝县| 恩平市| 皋兰县| 灌阳县| 遂昌县| 都兰县| 崇明县| 玉环县| 凉城县| 中江县| 瓮安县| 邢台县|