框架学习八:二维码(Zxing)
本文转自夏神: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()。我自己更改后的一个:
- public Rect getFramingRect() {
- Point screenResolution = configManager.getScreenResolution();
- if (framingRect == null) {
- if (camera == null) {
- return null;
- }
- int width = screenResolution.x;
- int height = screenResolution.y * 1 / 2;
- int leftOffset = (screenResolution.x - width) / 2;
- int topOffset = (screenResolution.y - height) / 2;
- framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height);
- Log.d(TAG, "Calculated framing rect: " + framingRect);
- }
- return framingRect;
- }
2)更改扫描框的样式:在ViewFinderView类中修改。
更改扫描框大小后,更改扫描框下方的文字位置,使得其居中显示:
- paint.setTextAlign(Align.CENTER);
- 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)的更多相关文章
- 二维码zxing源码分析(五)精简代码
由于工作的需要,我并不是需要二维码扫描的所有的功能,我只是需要扫一扫,并显示出来图片和url就行,于是我们就要精简代码了,源码已经分析完了,精简起来就方便多了,源码分析请看 二维码zxing源码分析( ...
- 第三百二十节,Django框架,生成二维码
第三百二十节,Django框架,生成二维码 用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qr ...
- 二维码Zxing&Zbar
二维码Zxing&Zbar 前言:该项目主要介绍了二维码扫描.闪光灯开启.本地二维码图片识别.二维码生成.分别是zxing和zbar(网格二维码)分别实现,具体效果运行项目apk... 开发环 ...
- 十八 Django框架,生成二维码
用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qrcode img = qrcode.make ...
- iOS学习之二维码扫描
这几天刚好将本人高仿新浪微博的事情进行一个阶段性的tag,在此也将这个项目在实现二维码扫描这个功能来做一个简要的记录.关于高仿新浪微博的源代码,本人已经将全部代码托管到github,地址在这里.欢迎大 ...
- winform生成条形码和二维码(ZXing.Net)
首先在项目添加ZXing.Net. 工具-->Nuget包管理器-->Nuget程序包 在所搜栏输入 ZXing.Net 如下图: 添加完成后会看见: 效果图: 所有代码: /// &l ...
- JavaScript的学习--生成二维码
有一些耗cpu的计算,完全可以在客户端上计算,比如生成二维码. qrcode其实是通过计算,然后使用jquery实现图形渲染和画图.支持canvas和table两种方式生成我们所需的二维码. 具体用法 ...
- 学习:二维码、QR码、J4L-QRCode、java
开源码 Java 解码器(编码解码)下载:http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip Java QR Code O ...
- 二维码zxing源码分析(四)wifi部分
前三个部分的地址是:ZXING源码分析(一)CAMERA部分 . zxing源码分析(二)decode部分.zxing源码分析(三)result.history部分 前面三篇文章基本上已经把zxin ...
随机推荐
- C#.NEt-GDI+中的Pen測试
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 局部优化与整体效果 新增时间>节省时间 权衡利弊
原代码 from selenium import webdriverimport requests,timeurl_l=[]with open('DISTINCT_url.txt', 'r', enc ...
- ATM网络
ATM是Asynchronous Transfer Mode(ATM)异步传输模式的缩写,是实现B-ISDN的业务的核心技术之一.ATM是以信元为基础的一种分组交换和复用技术
- YTU 2504: 蚂蚁感冒
2504: 蚂蚁感冒 时间限制: 1 Sec 内存限制: 128 MB 提交: 273 解决: 118 题目描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右.每只蚂蚁都只能沿 ...
- MSD6A628开发资料与技术支持
MSD6A628VX/VXM是mstar推出的低成本安卓智能网络电视方案,628分两个版本,一个是内置512MB内存,一个是外挂1G内存, 安卓4.4系统,4核A7处理器,Mali450MP2 GPU ...
- softmax function in c++
#include <iostream> #include <vector> #include <cmath> #include <algorithm> ...
- Tomcat组件
Tomcat组件 tomcat常用组件 Tomcat的组织结构 Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的给件是CATALINA SERVLET容器,其他的组件按照一定 ...
- E20180120-hm
derive vt. 得到,导出; 源于,来自; (从…中) 提取; hierarchy n. [计] 分层,层次; 等级制度; 统治集团; 天使的级别或等级; inheritance n. 继承 ...
- 最常用的~正则表达式-相关js函数知识简洁分享【新手推荐】
一.正则表达式的创建 JS正则的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 varregObj =newRegExp("(^\s+)|(\s+ ...
- 图片预览------photoswipe 使用
photoswipe 使用 预览图片后,需要点击关闭按钮才能关闭,点击图片事件效果是放大图片,和微信的效果不一致,最后改用微信预览图片的接口了,但是例子可以用,记录一下!! http://www.cn ...