通過下面的代碼即可實現(xiàn):

閔行網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
HBuilder就有調(diào)用原生硬件的接口html5++
!DOCTYPE?html
html
head
meta?charset="utf-8"
titleCamera?Example/title
script?type="text/javascript"
//?擴展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù)
document.addEventListener(?"plusready",?onPlusReady,?false?);
var?r?=?null;
//?擴展API加載完畢,現(xiàn)在可以正常調(diào)用擴展API
function?onPlusReady()?{
//?獲取設(shè)備默認的攝像頭對象
var?cmr?=?plus.camera.getCamera();
1、代碼:代碼就是程序員用 開發(fā)工具所支持的語言寫出來的 源文件,是一組由 字符、符號或信號 碼元以離散形式表示信息的明確的規(guī)則體系。
2、html5:是指萬維網(wǎng)的核心語言、 標準通用標記語言下的一個應(yīng)用 超文本標記語言( HTML)的第五次重大修改。2014年10月29日,?萬維網(wǎng)聯(lián)盟宣布,經(jīng)過接近8年的艱苦努力,該標準規(guī)范終于制定完成。
1.解決的問題:
1.能夠在微博客戶端呼起攝像頭掃描二維碼并且解析;
2.能夠在原生瀏覽器和微信客戶端中掃描二維碼并且解析;
2.優(yōu)點:
web端或者是 h5端可以直接完成掃碼的工作;
3.缺點:
圖片不清晰很容易解析失敗(拍照掃描圖片需要鏡頭離二維碼的距離很近),相對于 native 呼起的攝像頭解析會有1-2秒的延時。
說明:
此插件需要配合zepto.js 或者 jQuery.js使用
使用方法:
1.在需要使用的頁面按照下面順序引入lib目錄下的 js 文件
復制代碼
代碼如下:
script src="lib/zepto.js"/script
script src="lib/qrcode.lib.min.js"/script
script src="lib/qrcode.js"/script
掃描二維碼的話,取決于手機攝像頭。
Html5文件的話,你需要將制作好的二維碼圖片放在Html5內(nèi)容里面。
將建好的網(wǎng)址加在微信公眾號,或者是QQ公眾的導航上面,或者是網(wǎng)站里面。
當點擊進入頁面之后,會看到二維碼圖片。
用手機按壓圖片,APP會提示掃描圖片中的二維碼?
點擊確定掃描二維碼即可。
注釋:圖片盡量做成像下圖一樣的,增強二維碼的趣味性,吸引其他人掃描。
html5移動端調(diào)用手機攝像頭掃描二維碼并獲取二維碼信息代碼如下:
[html]?view plain?copy
!DOCTYPE?html
htmlhead
titleHTML5?code?Reader/title
meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312"
/head
style?type="text/css"
html,?body?{?height:?100%;?width:?100%;?text-align:center;?}
/style
script?src="jquery-1.9.1.js"/script
script
//這段代?主要是獲取攝像頭的視頻流并顯示在Video?簽中
var?canvas=null,context=null,video=null;
window.addEventListener("DOMContentLoaded",?function?()
{
try{
canvas?=?document.getElementById("canvas");
context?=?canvas.getContext("2d");
video?=?document.getElementById("video");
var?videoObj?=?{?"video":?true,audio:false},
flag=true,
MediaErr?=?function?(error)
{
flag=false;
if?(error.PERMISSION_DENIED)
{
alert('用戶拒絕了瀏覽器請求媒體的權(quán)限',?'提示');
}?else?if?(error.NOT_SUPPORTED_ERROR)?{
alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器',?'提示');
}?else?if?(error.MANDATORY_UNSATISFIED_ERROR)?{
alert('指定的媒體類型未接收到媒體流',?'提示');
}?else?{
alert('系統(tǒng)未能獲取到攝像頭,請確保攝像頭已正確安裝。或嘗試刷新頁面,重試',?'提示');
}
};
//獲取媒體的兼容代碼,目前只支持(Firefox,Chrome,Opera)
if?(navigator.getUserMedia)
{
//qq瀏覽器不支持
if?(navigator.userAgent.indexOf('MQQBrowser')??-1)?{
alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器',?'提示');
return?false;
}
navigator.getUserMedia(videoObj,?function?(stream)?{
video.src?=?stream;
video.play();
},?MediaErr);
}
else?if(navigator.webkitGetUserMedia)
{
navigator.webkitGetUserMedia(videoObj,?function?(stream)
{
video.src?=?window.webkitURL.createObjectURL(stream);
video.play();
},?MediaErr);
}
else?if?(navigator.mozGetUserMedia)
{
navigator.mozGetUserMedia(videoObj,?function?(stream)?{
video.src?=?window.URL.createObjectURL(stream);
video.play();
},?MediaErr);
}
else?if?(navigator.msGetUserMedia)
{
navigator.msGetUserMedia(videoObj,?function?(stream)?{
$(document).scrollTop($(window).height());
video.src?=?window.URL.createObjectURL(stream);
video.play();
},?MediaErr);
}else{
alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器');
return?false;
}
if(flag){
alert('為了獲得更準確的測試結(jié)果,請盡量將二維碼置于框中,然后進行拍攝、掃描。?請確保瀏覽器有權(quán)限使用攝像功能');
}
//這個是拍照按鈕的事件,
$("#snap").click(function?()?{startPat();}).show();
}catch(e){
printHtml("瀏覽器不支持HTML5?CANVAS");
}
},?false);
//打印內(nèi)容到頁面
function?printHtml(content){
$(window.document.body).append(content+"br/");
}
//開始拍照
function?startPat(){
setTimeout(function(){//防止調(diào)用過快
if(context)
{
context.drawImage(video,?0,?0,?320,?320);
CatchCode();
}
},200);
}
//抓屏獲取圖像流,并上傳到服務(wù)器
function?CatchCode()?{
if(canvas!=null)
{
//以下開始編?數(shù)據(jù)
var?imgData?=?canvas.toDataURL();
//將圖像轉(zhuǎn)換為base64數(shù)據(jù)
var?base64Data?=?imgData;//.substr(22);?//在前端截取22位之后的字符串作為圖像數(shù)據(jù)
//開始異步上
$.post("saveimg.php",?{?"img":?base64Data?},function?(result)
{
printHtml("解析結(jié)果:"+result.data);
if?(result.status?==?"success"??result.data!="")
{
printHtml("解析結(jié)果成功!");
}else{
startPat();//如果沒有解析出來則重新抓拍解析
}
},"json");
}
}
/script
body
div?id="support"/div
div?id="contentHolder"
video?id="video"?width="320"?height="320"?autoplay
/video
canvas?style="display:none;?background-color:#F00;"?id="canvas"?width="320"?height="320"
/canvas?br/
button?id="snap"?style="display:none;?height:50px;?width:120px;"開始掃描/button
/div
/body/html
可以。
實現(xiàn)基本步驟:
操作攝像頭,獲取圖片。
技術(shù)要點:MediaStream、GetUserMedia、File api。
利用canvas使用相關(guān)算法分析圖片識別圖片得出結(jié)果。
技術(shù)要點:getImageData
* 涉及到的技術(shù)點瀏覽器們(包括移動端)支持各異,現(xiàn)階段要開發(fā)并投產(chǎn)還不太現(xiàn)實
* 識別算法是一個難點,不過謝謝github,謝謝開源社區(qū),@Shou Jiesong 的答案中有phonegap的插件地址,支持各種碼。
網(wǎng)頁標題:html5掃描,html5掃描讀取身份證信息
網(wǎng)站URL:http://chinadenli.net/article4/dsgpioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、App開發(fā)、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)、虛擬主機、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)