久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

html5拍照功能實現(xiàn)代碼(htm5上傳文件)_html5教程技巧

html5拍照功能實現(xiàn)代碼(htm5上傳文件)_html5教程技巧HTML5中文學(xué)習(xí)網(wǎng),是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網(wǎng)站、HTML5資訊、HTML5應(yīng)用、HTML5游戲、HTML
點評:在HTML5規(guī)范的支持下,WebApp在手機(jī)上拍照已經(jīng)成為可能。在下面,我將講解Web App如何用手機(jī)進(jìn)行拍照,顯示在頁面上并上傳到服務(wù)器

1、 視頻流

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


復(fù)制代碼
代碼如下:

<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標(biāo)簽的內(nèi)容,Video元素能作為Canvas圖像的輸入,這一點很棒。主要代碼如下:

 

復(fù)制代碼
代碼如下:

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”的格式。


復(fù)制代碼
代碼如下:

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

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

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


復(fù)制代碼
代碼如下:

var data=imgData.substr(22);

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

 

復(fù)制代碼
代碼如下:

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

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


復(fù)制代碼
代碼如下:

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

4、 圖片上傳

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


復(fù)制代碼
代碼如下:

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

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

復(fù)制代碼
代碼如下:

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拍照上傳,并且你可以實現(xiàn)把Canvas的輸出轉(zhuǎn)換為圖片上傳的功能。這樣你可以使用Canvas為用戶提供圖片編輯,例如裁剪、上色、涂鴉的畫板功能,然后把用戶編輯完的圖片保存到服務(wù)器上。


【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

主站蜘蛛池模板: 亚洲精品在线视频 | 天天操天天插天天干 | 久久久久国产精品午夜一区 | 久久久国产一区二区三区四区小说 | 黄色一级免费看 | 韩国毛片一区二区三区 | 久久69精品久久久久久久电影好 | 国产 日韩 欧美 中文 在线播放 | 狠狠热视频 | 男女羞羞的网站 | 欧美精品国产一区二区 | 欧美日韩在线高清 | 狠狠狠色丁香婷婷综合久久五月 | 黄色一级大片在线免费看产 | 亚洲精品一 | 久久高清 | 国产免费一区二区三区 | 男人的天堂亚洲 | 欧美成人视屏 | 亚洲成人av| 免费视频成人国产精品网站 | 国产伦精品一区二区三区在线 | 久久久婷婷 | 日韩精品久久久久久 | 午夜国产一区 | 亚洲精品粉嫩美女一区 | 一级黄色片美国 | 日韩一区二区免费视频 | 国产二区精品视频 | 视频一区在线观看 | 日本三级电影在线观看视频 | 亚洲电影第三页 | 久久精品亚洲 | av高清 | 在线午夜| 国产精品久久久久久久久久了 | www.久久精品视频 | 日韩成人精品视频 | 亚洲欧美视频在线观看 | 久久国产精99精产国高潮 | 人人九九精|