本文转自夏神: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. (六)Java 基本数据类型

    Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不 ...

  2. Minimizing Maximizer

    题意: 最少需要多少个区间能完全覆盖整个区间[1,n] 分析: dp[i]表示覆盖[1,i]最少需要的区间数,对于区间[a,b],dp[b]=min(dp[a...b-1])+1;用线段树来维护区间最 ...

  3. 牛客网9.9比赛 C 保护

    题目大意: n个城市构成一个树 m支军队 每只军队守卫 在xi到yi的最短路径上的城市 q个重要人物从vi出发 找到离根最近的点使从vi到这个点上所有路径都可以被至少ki个军队完全覆盖 输出每个答案的 ...

  4. 10.06 WZZX Day1总结

    今天迎来了WZZX的模拟.打开pdf的时候我特别震惊,出题的竟然是神仙KCZ!没错,就是那个活跃于各大OJ,在各大OJ排名靠前(LOJ Rank1),NOI2018 Rank16进队的kczno1!! ...

  5. 列表渲染v-for

    v-for我们用v-for指令根据一组数据的选项列表进行渲染.v-for指令需要以item in items形式的特殊语法,items是源数据数组并且item是数组元素迭代的别名. demo: < ...

  6. 3-5 编程练习:jQuery实现简单的图片对应展示效果

    3-5 编程练习:jQuery实现简单的图片对应展示效果 通过这个章节的学习, 老师带领大家完成了一个基本的图片切换特效,接下来,我们也实现一个类似的效果,点击相应的按钮,切换对应的图片. 效果图 : ...

  7. 乐搏讲自动化测试-Python发展背景(1)

    相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章 ...

  8. python自动化测试学习笔记-6excel操作xlwt、xlrd、xlutils模块

    python中通过xlwt.xlrd和xlutils操作xls xlwt模块用于在内存中生成一个xls/xlsx对象,增加表格数据,并把内存中的xls对象保存为本地磁盘xls文件; xlrd模块用于把 ...

  9. ACM_递推题目系列之三放苹果(递推dp)

    递推题目系列之三放苹果 Time Limit: 2000/1000ms (Java/Others) Problem Description: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放 ...

  10. DHTML_____window对象属性

    <html> <head> <meta charset="utf-8"> <title>window对象属性</title&g ...