永发信息网

安卓手机怎么当摄像头,手机web页面怎么调用摄像头执行扫描,获取数据?

答案:1  悬赏:60  手机版
解决时间 2021-05-03 21:27
安卓手机怎么当摄像头,手机web页面怎么调用摄像头执行扫描,获取数据?
最佳答案
HTML5技术支持WebApp在手机上拍照,显示在页面上并上传到服务器。这是手机微博应用中常见的功能,当然你也可以在其它类型应用中适当使用此技术。
1、 视频流
HTML5 的 The Media Capture(媒体捕捉) API 提供了对摄像头的可编程访问,用户可以直接用 getUserMedia(请注意目前仅Chrome和Opera支持)获得摄像头提供的视频流。我们需要做的是添加一个HTML5 的 Video 标签,并将从摄像头获得的视频作为这个标签的输入来源。
var video_element=document.getElementById(‘video’);
if(navigator.getUserMedia){ // opera应使用opera.getUserMedianow
navigator.getUserMedia(‘video’,success,error); //success是回调函数,当然你也可以直接在此写一个匿名函数
}
function success(stream){
video_element.src=stream;
}此时,video 标签内将显示动态的摄像视频流。下面需要进行拍照了。
2、 拍照
拍照是采用HTML5的Canvas功能,实时捕获Video标签的内容,因为Video元素可以作为Canvas图像的输入,所以这一点很好实现。主要代码如下:
var canvas=document.createElement(‘canvas’); //动态创建画布对象
var ctx=canvas.getContext(’2d’);
var cw=vw,ch=vh;
ctx.fillStyle=”#ffffff”;
ctx.fillRect(0,0,cw,ch);
ctx.drawImage(video_element,0,0,cw,ch,0,0,vw,vh); //将video对象内指定的区域捕捉绘制到画布上指定的区域,可进行不等大不等位的绘制。
document.body.append(canvas);
3、 图片获取
从Canvas获取图片数据的核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像,类似于“data:image/png;base64,xxxxx”的格式。
var imgData=canvas.toDataURL(“image/png”);
这样,imgData变量就存储了一长串的字符数据内容,表示的就是一个PNG图像的base64编码。因为真正的图像数据是base64编码逗号之后的部分,所以要让实际服务器接收的图像数据应该是这部分,我们可以用两种办法来获取。
第一种:是在前端截取22位以后的字符串作为图像数据,例如:
var data=imgData.substr(22);
如果要在上传前获取图片的大小,可以使用:
var length=atob(data).length; //atob 可解码用base-64解码的字串
第二种:是在后端获取传输的数据后用后台语言截取22位以后的字符串(也就是在前台略过上面这步直接上传)......余下全文>>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我的飞车中,我会与我老婆自动离婚!
为什么会睡眠质量不高,睡下去总是感觉半睡半
我电脑是win7系统,下载一个9500gt显卡电脑会
自己的CF的荣誉点可以转给其他人吗?
UC浏览器下载和使用要钱吗、?
断掌是怎么回事,好不好???
鬼鬼退出黑Girl了吗?为什么呢?
电脑桌面的壁纸变成英文了
拍拍上下架的物品怎么不能上架了?
三运汽车电器电瓶空调这个地址在什么地方,我
吃点什么可以让身高长的快些?
起点新人新书的推荐票怎么那么多
我曾得了脑神经衰弱,记忆力下降很明显,现在特
长期不玩电脑,会不会开不了机?
我想开个网店,不知道现在哪个网店比较好点,开
推荐资讯
起名刘雨中间加个什么字好听
山东菏泽哪个旅行社去上海。纯玩的。
一个人可以办两卡透支卡吗?
请问在excel中有没有什么快捷方式可以求和、
怎么灭空间啊
苏格拉底所处的时代的时代背景
这张图片是SJ拍什么MV的?
最权威的诗歌刊物,中国最有权威的诗歌网是哪
金鱼在水里不停的呼吸是为什么
我的手机是6120c,插入电脑准备数据传送的时
连词成句。语文类
高中二年级理科,有哪些知识重点应如何学好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?