html5+js实现二维码扫描

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html5+js实现二维码扫描相关的知识,希望对你有一定的参考价值。

我想做一个网页,添加一个按钮,点击按钮就是二维码扫描。(不是安卓,也不是ios)想着网页版可以直接在安卓也ios里面的浏览器运行,二维码信息我希望通过c#获取和使用。求例子,最好是有源码。
或者调用微信二维码扫描的接口也行,具体实现方法和代码贴出来下。

通过下面的代码即可实现:

HBuilder就有调用原生硬件的接口html5++

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Camera Example</title>

<script type="text/javascript">

// 扩展API加载完毕后调用onPlusReady回调函数 

document.addEventListener( "plusready", onPlusReady, false );

var r = null; 

// 扩展API加载完毕,现在可以正常调用扩展API 

function onPlusReady() 

// 获取设备默认的摄像头对象 

var cmr = plus.camera.getCamera();

1、代码:代码就是程序员用 开发工具所支持的语言写出来的 源文件,是一组由 字符、符号或信号 码元以离散形式表示信息的明确的规则体系。

2、html5:是指万维网的核心语言、 标准通用标记语言下的一个应用 超文本标记语言( HTML)的第五次重大修改。2014年10月29日, 万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成。

参考技术A

生成二维码支持中文

追问

不是生成二维码,是扫描然后获取数据

参考技术B 亲,你这个问题解决了吗,我也遇到这个问题了 参考技术C 不用js用html就可以直接实现了
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Barcode Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady()
var e = document.getElementById("scan");
e.removeAttribute( "disabled" );

// 从图片中扫描
function scanImg()
plus.barcode.scan( '_www/barcode.png', function (type,result)
alert( "Scan success:("+type+")"+result );
, function (error)
alert( error.message );
);

</script>
<style type="text/css">
*
-webkit-user-select: none;

html,body
margin: 0px;
padding: 0px;
height: 100%;
//你一去5 1 r g b。c o m看看
</style>//http://v.youku.com/v_show/id_XMTMzMTM0ODIzMg==.html </head>
<body >
<input id="scan" type='button' disabled="disabled" onclick='scanImg()' value='扫描图片'></input>
</body>//
</html>
参考技术D <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Barcode Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady()
var e = document.getElementById("scan");
e.removeAttribute( "disabled" );

// 从图片中扫描
function scanImg()
plus.barcode.scan( '_www/barcode.png', function (type,result)
alert( "Scan success:("+type+")"+result );
, function (error)
alert( error.message );
);

</script>
<style type="text/css">
*
-webkit-user-select: none;

html,body
margin: 0px;
padding: 0px;
height: 100%;

</style>
</head>
<body >
<input id="scan" type='button' disabled="disabled" onclick='scanImg()' value='扫描图片'></input>
</body>
</html>

使用ZXing代码实现二维码扫描

1 首先下载Zxing的源码,然后将其中Android的版本导入到Android Studio

2 因为只需要二维码扫描的功能,所以只留下其中的四个包

其中 camera管理相机,decoding解析扫描到的二维码,view定义扫码的视图,MipcaActivityCapture是扫码的界面。

3 将res文件下的文件拷贝过来,注意是合并,不是简单的替换

4 修改AndroidMinifest.xml

5 修改由R引用带来的错误?

技术分享

6 添加jar包,jar包导入不是简单的复制,要右键 add as library,导入成功后的jar包是可以展开的,如图?

7最终的结果如图

技术分享
技术分享

?有一个问题是取景框内的二维码被拉伸了。。。待解决。

解决方法是?

?Zxing  修改 CameraConfigurationManager.java文件的

void initFromCameraParameters(Camera camera)方法

在 Log.d(TAG, "Screen resolution: " + screenResolution);这句之后增加

?

  • Point screenResolutionForCamera = new Point();  screenResolutionForCamera.x = screenResolution.x;   screenResolutionForCamera.y = screenResolution.y;    // preview size is always something like 480*320, other 320*480
  • if (screenResolution.x < screenResolution.y) {  
  •         screenResolutionForCamera.x = screenResolution.y;  
  •         screenResolutionForCamera.y = screenResolution.x;  
  •         } 
  • ?再把其后的一句代码改为
  • cameraResolution = getCameraResolution(parameters, screenResolutionForCamera); 

 

 

以上是关于html5+js实现二维码扫描的主要内容,如果未能解决你的问题,请参考以下文章

用HTML5 可以实现二维码扫描识别的功能吗

html5怎么做扫描二维码的功能

html5怎么扫描二维码

html5移动端页面上调用手机摄像头扫描二维码并获取二维码信息代码?

php代码如何实现扫描二维码获取扫描者的信息

.net 手机扫描二维码功能