本文转自夏神:http://blog.csdn.net/xiaanming/article/details/10163203

一、用什么

二维码扫描用的google的开源框架Zxing。

二、下载

地址:http://code.google.com/p/zxing/

http://download.csdn.net/download/xiaanming/5990219

三、怎么用

记得要加相机权限。

1、拷贝三个包到自己项目中,并将相关资源引入:com.mining.app.zxing.camera,com.mining.app.zxing.decoding,com.mining.app.zxing.view。

2、导入Zxing.jar包。

3、引入类:MipcaActivityCapture。这个activity主要处理扫描界面的类,比如扫描成功有声音和震动等等,主要关注里面的handleDecode(Result result, Bitmap barcode)。扫描完成之后将扫描到的结果和二维码的bitmap当作参数传递到handleDecode(Result result, Bitmap barcode),只需在这儿写出相对应的处理代码即可。

4、自定义效果

1)更改扫描框的大小:在CameraManager类里的getFramingRect()。我自己更改后的一个:

  1. public Rect getFramingRect() {
  2. Point screenResolution = configManager.getScreenResolution();
  3. if (framingRect == null) {
  4. if (camera == null) {
  5. return null;
  6. }
  7. int width = screenResolution.x;
  8. int height = screenResolution.y * 1 / 2;
  9. int leftOffset = (screenResolution.x - width) / 2;
  10. int topOffset = (screenResolution.y - height) / 2;
  11. framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height);
  12. Log.d(TAG, "Calculated framing rect: " + framingRect);
  13. }
  14. return framingRect;
  15. }

2)更改扫描框的样式:在ViewFinderView类中修改。

更改扫描框大小后,更改扫描框下方的文字位置,使得其居中显示:

  1. paint.setTextAlign(Align.CENTER);
  2. canvas.drawText(getResources().getString(R.string.scan_text), width/2, (float) (frame.bottom + (float)TEXT_PADDING_TOP *density), paint);
四、需要扫描本地图片

本机扫描本机图片,参考夏神:http://blog.csdn.net/xiaanming/article/details/14450809

五、遇到的问题

raw文件夹提交不了svn,错误提示是:

我怎么解决的:删了raw文件夹,然后再重新创建,再将该文件夹下东西拷贝进来,再次提交svn。

框架学习八:二维码(Zxing)的更多相关文章

  1. 二维码zxing源码分析(五)精简代码

    由于工作的需要,我并不是需要二维码扫描的所有的功能,我只是需要扫一扫,并显示出来图片和url就行,于是我们就要精简代码了,源码已经分析完了,精简起来就方便多了,源码分析请看 二维码zxing源码分析( ...

  2. 第三百二十节,Django框架,生成二维码

    第三百二十节,Django框架,生成二维码 用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qr ...

  3. 二维码Zxing&Zbar

    二维码Zxing&Zbar 前言:该项目主要介绍了二维码扫描.闪光灯开启.本地二维码图片识别.二维码生成.分别是zxing和zbar(网格二维码)分别实现,具体效果运行项目apk... 开发环 ...

  4. 十八 Django框架,生成二维码

    用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qrcode img = qrcode.make ...

  5. iOS学习之二维码扫描

    这几天刚好将本人高仿新浪微博的事情进行一个阶段性的tag,在此也将这个项目在实现二维码扫描这个功能来做一个简要的记录.关于高仿新浪微博的源代码,本人已经将全部代码托管到github,地址在这里.欢迎大 ...

  6. winform生成条形码和二维码(ZXing.Net)

    首先在项目添加ZXing.Net. 工具-->Nuget包管理器-->Nuget程序包  在所搜栏输入 ZXing.Net 如下图: 添加完成后会看见: 效果图: 所有代码: /// &l ...

  7. JavaScript的学习--生成二维码

    有一些耗cpu的计算,完全可以在客户端上计算,比如生成二维码. qrcode其实是通过计算,然后使用jquery实现图形渲染和画图.支持canvas和table两种方式生成我们所需的二维码. 具体用法 ...

  8. 学习:二维码、QR码、J4L-QRCode、java

    开源码 Java 解码器(编码解码)下载:http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip Java QR Code O ...

  9. 二维码zxing源码分析(四)wifi部分

    前三个部分的地址是:ZXING源码分析(一)CAMERA部分  . zxing源码分析(二)decode部分.zxing源码分析(三)result.history部分 前面三篇文章基本上已经把zxin ...

随机推荐

  1. JavaScript实现页面重载 - 535种方式

    location = location ... and a 534 other ways to reload the page with JavaScript location = location ...

  2. 蓝书2.2 KMP算法

    T1 Radio Transmission bzoj 1355 题目大意: 一个字符串,它是由某个字符串不断自我连接形成的 但是这个字符串是不确定的,现在只想知道它的最短长度是多少 思路: kmp 输 ...

  3. [Codeforces 1037D] Valid BFS?

    [题目链接] http://codeforces.com/problemset/problem/1037/D [算法] 首先求出每个点的父节点 , 每棵子树的大小 然后判断BFS序是否合法即可 时间复 ...

  4. js实现IOS上删除app时颤抖动画j函数

    欢迎提供更好的方法! <!--http://www.cnblogs.com/webzhangnan/p/3244920.html --> <html> <head> ...

  5. Flask开启多线程、多进程

    一.参数 app.run()中可以接受两个参数,分别是threaded和processes,用于开启线程支持和进程支持. 二.参数说明 1.threaded : 多线程支持,默认为False,即不开启 ...

  6. POJ 3734 Blocks 矩阵递推

    POJ3734 比较简单的递推题目,只需要记录当前两种颜色均为偶数, 只有一种颜色为偶数 两种颜色都为奇数 三个数量即可,递推方程相信大家可以导出. 最后来个快速幂加速即可. #include< ...

  7. 用户能够在下次登录系统时被重新配置---或win10早期更新不成功的bug就需要删除多余的登陆用户

    有时候我们希望删除本地计算机上的一位用户,或者期待一位用户能够在下次登录系统时被重新配置.但是仅删除%userprofile%目录是不够的,因为一个登录名会对应一个SSID,这个SSID还保留在注册表 ...

  8. MogileFS介绍

    MogileFS介绍 MogileFS 是一个开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发. Danga团队开发了包括 Memcached.Mog ...

  9. 0629-TP整理四(create(),success(),error(),U())

    create()-前提:表单中name的值要与数据库中的字段一一匹配 可直接获取表单数据进行操作: 作用:将数据库中没有的字段在数组中去除. PHP中添加的语法如下: success()和error( ...

  10. 【weiphp】安装中报错

    问题描述:安装的第三部报错“SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared sta ...