真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用HTML5實(shí)現(xiàn)拍照上傳應(yīng)用

這篇文章給大家分享的是有關(guān)怎么用HTML5實(shí)現(xiàn)拍照上傳應(yīng)用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷推廣,域名與空間,虛擬空間,網(wǎng)站改版維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,請(qǐng)聯(lián)系成都創(chuàng)新互聯(lián)。

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

1、 視頻流

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

XML/HTML Code復(fù)制內(nèi)容到剪貼板

  

  

視頻流

2、 拍照

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

JavaScript Code復(fù)制內(nèi)容到剪貼板

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獲取圖片數(shù)據(jù),其核心思路是用canvas的toDataURL將Canvas的數(shù)據(jù)轉(zhuǎn)換為base64位編碼的PNG圖像,類似于“data:image/png;base64,xxxxx”的格式。

JavaScript Code復(fù)制內(nèi)容到剪貼板

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

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

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

JavaScript Code復(fù)制內(nèi)容到剪貼板

var data=imgData.substr(22);  

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

JavaScript Code復(fù)制內(nèi)容到剪貼板

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

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

JavaScript Code復(fù)制內(nèi)容到剪貼板

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

4、 圖片上傳

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

JavaScript Code復(fù)制內(nèi)容到剪貼板

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

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

JavaScript Code復(fù)制內(nèi)容到剪貼板

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);  

}  

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

感謝各位的閱讀!關(guān)于“怎么用HTML5實(shí)現(xiàn)拍照上傳應(yīng)用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


新聞名稱:怎么用HTML5實(shí)現(xiàn)拍照上傳應(yīng)用
當(dāng)前鏈接:http://weahome.cn/article/jhhpje.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部