日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
HTML5實(shí)現(xiàn)拍照上傳應(yīng)用實(shí)現(xiàn)

在HTML5規(guī)范的支持下,WebApp在手機(jī)上拍照已經(jīng)成為可能。在下面,我將講解Web App如何用手機(jī)進(jìn)行拍照,顯示在頁面上并上傳到服務(wù)器

創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營銷網(wǎng)站、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)移動網(wǎng)站建設(shè)、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)公司、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為宴會酒店設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站開發(fā)服務(wù)。

1、視頻流

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

 
 
 
 
  1.  
  2.  

視頻流

2、 拍照

拍照功能,我們采用HTML5的Canvas實(shí)時(shí)捕獲Video標(biāo)簽的內(nèi)容,Video元素能作為Canvas圖像的輸入,這一點(diǎn)很棒。主要代碼如下:

 
 
 
 
  1.  

3、 圖片獲取

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

 
 
 
 
  1. varimgData=canvas.toDataURL(“image/png”); 

因?yàn)檎嬲龍D像數(shù)據(jù)是base64編碼逗號之后的部分,所以我們實(shí)際服務(wù)器處理的圖像數(shù)據(jù)應(yīng)該是這部分,我們可以用兩種辦法來獲取。

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

 
 
 
 
  1. vardata=imgData.substr(22); 

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

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

第二種:是在后端獲取傳輸?shù)臄?shù)據(jù)后用后臺語言截取22位以后的字符串。例如PHP里:

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

4、 圖片上傳

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

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

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

 
 
 
 
  1. functionconvert_data($data){ 
  2. $image=base64_decode(str_replace(‘data:image/jpeg;base64,’,”,$data); 
  3. save_to_file($image); 
  4. functionsave_to_file($image){ 
  5. $fp=fopen($filename,’w'); 
  6. fwrite($fp,$image); 
  7. fclose($fp); 

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


當(dāng)前標(biāo)題:HTML5實(shí)現(xiàn)拍照上傳應(yīng)用實(shí)現(xiàn)
文章來源:http://www.dlmjj.cn/article/cooigho.html