二维码扫描引擎有 ZBar 和ZXing

一、 使用开源ZXing扫描的缺点

1、原始代码是横屏模式,尽管可以改成竖屏,但是扫描界面的自定义和多屏幕适配不好做

2、有效扫描区域不好控制,可能是我自己技术不成熟,没找到好方法

3、ZXing是Java写的,对二维码的解析效率没有ZBar快

二、 使用iOS开发经常使用的ZBar扫描的缺点

1、 ZBar是C实现的二维码解析,但是在解析中文时会乱码

2、 ZBar的扫描界面对相机的控制没有ZXing封装的好

基于以上一些原因,将二者结合起来,用ZXing来控制摄像头取得图像,用ZBar来解析扫描到的数据,最终形成目前的项目。

ZBar可以直接扫二维码和条形码,

ZXing可以直接扫二维码, 如果要扫条形码,则需要去改改代码花点功夫了。

维码库有两个,分别是ZXing和ZBar,其中ZXing在Android开发中较为常见,而ZBar则在IOS开发中较为常见,更重要的一点是,这两个库都是开源

1、相机的获取及相机的交互处理

2、二维码图片的获取

3、二维码图片的解析

//获取照相机的方法
public static Camera getCameraInstance()
{
Camera mCamera = null;
try
{
mCamera = Camera.open();
//没有后置摄像头,尝试打开前置摄像头*******************
if (mCamera == null)
{
Camera.CameraInfo mCameraInfo = new Camera.CameraInfo();
int cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx < cameraCount; camIdx++)
{
Camera.getCameraInfo(camIdx, mCameraInfo);
if (mCameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)
{
mCamera = Camera.open(camIdx);
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
return mCamera;
}

android之二维码扫描的实现的更多相关文章

  1. Android—ZXing二维码扫描遇到的问题

    最近工作中需要开发带有二维码扫描功能的软件(基于开源项目ZXing),遇到的问题记录一下,也希望给大家带来帮助. 1.首先因为扫描要开摄像机所以加权限是一定的,不然后面什么都不能进行 <uses ...

  2. Android实现二维码扫描登录网页

        之前写过一个二维码扫描demo,用的Zxing的框架,点击下载.兴许扫描二维码中出现一些问题,比方解决压缩图片.调整扫描窗体大小等等. 兴许单位要求做扫描登录实现,发现难点就是怎么知道你扫描的 ...

  3. Android集成二维码扫描功能

    文章转载自  https://github.com/yipianfengye/android-zxingLibrary 在具体介绍该扫描库之前我们先看一下其具体的使用方式,看看是不是几行代码就可以集成 ...

  4. Android实现二维码扫描功能

    1.效果预览 先上图展示效果(模拟器没有摄像头,录出来效果不好,将就看) 2.集成步骤 1.拷贝本项目demo中的com.google.zxing5个包引入到自己的项目中. 2.拷贝本项目demo中的 ...

  5. Android仿微信二维码扫描

    转载:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一 ...

  6. Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果

      Android 高手进阶(21)  版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处:http://blog.csdn.net/xiaanming/article/detail ...

  7. android 二维码扫描

    了解二维码这个东西还是从微信 中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候, 老板说要加上二维码扫描功 ...

  8. 【转】Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果--不错

    原文网址:http://blog.csdn.net/xiaanming/article/details/10163203 转载请注明出处:http://blog.csdn.net/xiaanming/ ...

  9. 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(转)

    转载:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信 中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从 ...

随机推荐

  1. 虚拟机VMware怎么完全卸载干净

    虚拟机VMware怎么完全卸载干净 听语音 | 浏览:19929 | 更新:2014-12-21 10:28 | 标签:虚拟机 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师傅高质屏和好师傅 ...

  2. Java面向对象之接口

    什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... class 类名 ext ...

  3. [No000059]知道这些,你的时间会比别人多一大截

    大噶猴,这里是最近不爱断案,爱上了号脉问诊的包大人.来看看下面这些症状,你中了几条? 字的快餐阅读 2.微博.微信.QQ空间.微博.微信.QQ空间……陷在这样的循环里 3.每天好像接收了很多信息,然而 ...

  4. 转:[版本控管]TortoiseSVN 使用,抓出兇手,使用 Blame 查看每一行最後修改的人是誰

    类似的官方的使用手段有: https://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-dug-blame.html from: http:/ ...

  5. Windows 7 USB DVD Download Tool

    1.下载.安装.运行Windows 7 USB DVD Download Tool: 百度官方下载 http://rj.baidu.com/soft/detail/20458.html 2.点击&qu ...

  6. Tree

    //Header.h #ifndef _HEAD_ #define _HEAD_ #include <queue> #include <iostream> using name ...

  7. Web API 接口

    Web API 接口 在给网站编写 JavaScript 代码时,也有很多可用的 API.您可以使用下面的接口(也称为对象的类型)列表,开发 Web 应用程序或网站. 关于包含这些接口的 API 列表 ...

  8. 修复ext4日志(jbd2)bug( Ext4 文件系统有以下 Bug)

    from:http://blog.donghao.org/2013/03/20/%E4%BF%AE%E5%A4%8Dext4%E6%97%A5%E5%BF%97%EF%BC%88jbd2%EF%BC% ...

  9. android edittext 去边框 去下划线

    EditText的background属性设置为@null就搞定了:android:background="@null"style属性倒是可加可不加 附原文:@SlumberMac ...

  10. Centos6 安装 Redis

    先确认gcc和tcl已经安装 sudo yum install gcc-c++ sudo yum install tcl 解压, 编译和安装 .tar.gz /usr/src/ cd /usr/src ...