利用Zxing扫描和产生二维码

这段时间我做的一个app需要用到二维码扫描,但是找遍了我们的51CTO都没有找到合适的文章,我想把我自己利用zxing做二维码扫描的方法提供出来供大家参考。

什么是Z?
在Android平台做过二维码相关模块的肯定都熟知ZXing开源项目,Z
是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括: .NET and C#、J2ME、J2SE和Android等。其GitHub地址是:https://github.com/zxing/zxing。目前的最新版本是3.4.0,本次我采用的是3.3.2.
Z*项目里面代码很多,实现的功能也很多,我们的应用只需要剥离其中的扫描模块即可,再多一点也就是生成二维码的功能;接下来我们就一起来精简ZXing项目,最终形成一个小的Demo案例,当然江湖上已经有过N多种版本的ZXing精简项目,什么横屏改竖屏,绘制扫描界面,开启闪光灯等等,并且许多都是基于ZXing2.3.0来做精简的,后续有许多更新的版本,包括自动对焦,Camera管理,bug修复等等新功能;笔者使用的是ZXing3.1.0版本,这里需要说明的就是我的这版Demo绝对是江湖上面还没有出现的,也算是一点点小小的创新把,那就是去掉ZXing项目中恼人的ViewFinderView的绘制,使用XML布局扫描界面,添加扫描动画,精确计算扫描区域。
打开ZXing项目的文件夹(https://github.com/zxing/zxing),可以看到如下文件目录

下载下来就是一个完整的Zxing的包,但这个包的内容还是太大,我只选择了一部分放入我的程序中。
下面就是我的程序,其中必须下载zxing包,图中用红色标出来的部分。

原文地址:https://blog.51cto.com/fengyp/2440040

时间: 2024-10-08 10:19:04

利用Zxing扫描和产生二维码的相关文章

java利用zxing生成仿新浪微博二维码

原文:java利用zxing生成仿新浪微博二维码 源代码下载地址:http://www.zuidaima.com/share/1550463729896448.htm 效果图: 说明在readme.txt文件

java利用zxing开源工具生成二维码QRCode

原文:java利用zxing开源工具生成二维码QRCode 源代码下载地址:http://www.zuidaima.com/share/1550463727340544.htm

使用ZXing扫描条形码和二维码

主要是介绍使用ZXing库进行条形码和二维码的扫描 本帖里面使用的库是别人精简以后的 在代码注释里面作者 - Ryan.Tang 这里主要是介绍一下关于扫描界面 下面是关于属性的介绍 ScanView核心源码解析 ScanView 自定义属性 <declare-styleable name="ScanView"> <!--指定扫描区域的背景图片--> <attr name="scanBackground" format="re

Java利用zxing创建和读取二维码

一.maven依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/art

ZXing无法解析某些二维码的问题分析 - A barcode was not found in this image 问题定位

使用ZXingObjc 存在无法解析某些二维码的bug 一.问题描述 NtQRCode对MA68的部分分享图片中的二维码无法解析 示例: 一般是对一些分辨率比较高的图片才存在该问题 按照ZXing的示例代码,接口调用方法如下: UIImage *image = [指定图片的UIImage对象]; ZXLuminanceSource *source = [[ZXCGImageLuminanceSource alloc] initWithCGImage:image.CGImage]; ZXBinar

微信服务器与项目服务器的交互(关注功能、微信扫描带参数二维码)

<?php /** * wechat php test */ //define your token define("TOKEN", "txtj"); $wechatObj = new wechatCallbackapiTest(); if (isset($_GET['echostr'])) { $wechatObj->valid(); }else{ $wechatObj->responseMsg(); } class wechatCallback

【福利来袭】扫描CSDN学院二维码,即送电子优惠券一张!

亲爱的程序员媛们: 有没有非常想我呀! 今天,小编编又来给大家送福利喽,内心是不是非常掀起了千层浪.激动不已啊. 此刻关注CSDN学院二维码,即送电子优惠券一张哦.凭此券您可在CSDN学院购买课程时使用. 此刻,仅仅要动一动小拇指,您立刻可省一笔学习投资费用了,一切就这么简单,还不快行动! 一.活动时间:2015年6月11日-6月23日  二.活动形式 : 1.扫描下方的二维码或搜索"CSDN-edu"关注CSDN学院官方微信号. 2.  2.关注微信号后,在消息回复窗体发送[索码]二

c# 使用ZXing.dll库生成二维码

最近工作中有需要一个需求,就是把一个服务地址生成二维码,可以用来扫码分享,网上找了下方法也比较多,我这里po一下调用ZXing.dll库生成二维码的方法吧.先简单介绍一下 ZXing库,ZXing库是一个开源Java类库,可用于生成和解析多种格式的1D/2D条形码:zxing遵循Apache License 2.0,只是工具而已,是不收费哒. ZXing库的下载地址:http://zxingnet.codeplex.com/ 点击下载,下载后解压压缩包: 把Zxing加到工程应用中,以下为核心代

利用google开源工具生成二维码

import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import com.google.zxing.LuminanceSource; public class BufferedImageLuminanceSource extends LuminanceSource { private final BufferedImage image; pri