Google开源项目ZXing的网方网址:http://code.google.com/p/zxing/
ZXing (pronounced "zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. Our focus is on using the built-in camera on mobile phones to scan and decode barcodes on the device, without communicating with a server. However the project can be used to encode and decode barcodes on desktops and servers as well.
ZXing项目是google code上面提供的一个关于条码编解码的开源项目。
要对本项目进行二次开发,首先你需要在源码下载列表中下载ZXing-x.x.x.zip源代码
解压文件,你会看到里面有很多文件夹,包括J2SE的,Android的,J2ME,C#等等。我们以J2SE为例。
J2SE包中,提供了编码和解码的.Java文件,但是由于写的过于复杂,还没弄清楚这个开源项目源码之前,还是不推荐使用。
自己在j2se包中创建两个Java文件Encoder和Decoder。代码如下:
Encoder.java
package com.bijian.study; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Hashtable; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; public class Encoder { public static void main(String[] args) throws IOException { String contents = "今天,我们来简单聊聊google开源项目——ZXing(二维条码编解码)"; Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(); hints.put(EncodeHintType.CHARACTER_SET, "GBK"); BitMatrix matrix = null; try { matrix = new MultiFormatWriter().encode(contents,BarcodeFormat.QR_CODE, 300, 300, hints); } catch (WriterException e) { e.printStackTrace(); } File file = new File("D://qrcodeImage.png"); OutputStream out = new FileOutputStream(file); MatrixToImageWriter.writeToStream(matrix, "png", out); } }
Decoder.java
package com.bijian.study; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Hashtable; import javax.imageio.ImageIO; import com.google.zxing.BinaryBitmap; import com.google.zxing.DecodeHintType; import com.google.zxing.LuminanceSource; import com.google.zxing.MultiFormatReader; import com.google.zxing.NotFoundException; import com.google.zxing.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.common.HybridBinarizer; public class Decoder { public static void main(String[] args) { File file = new File("D://qrcodeImage.png"); BufferedImage bufferedImage = null; try { bufferedImage = ImageIO.read(file); } catch (IOException e) { e.printStackTrace(); } LuminanceSource source = new BufferedImageLuminanceSource(bufferedImage); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Hashtable<DecodeHintType, String> hints = new Hashtable<DecodeHintType, String>(); hints.put(DecodeHintType.CHARACTER_SET, "GBK"); Result result = null; try { result = new MultiFormatReader().decode(bitmap, hints); } catch (NotFoundException e) { e.printStackTrace(); } System.out.println(result.toString()); } }
之后你就可以开始进行条码编辑和识别了,这里是支持中文的。
执行Encoder中的main方法,即在D盘下生成了qrcodeImage.png文件,打开文件,如下所示:
可以用微信的“扫一扫”扫此二维码,获取内容“今天,我们来简单聊聊google开源项目——ZXing(二维条码编解码)”。
接下来,再执行Decoder的main方法,运行输出内容“今天,我们来简单聊聊google开源项目——ZXing(二维条码编解码)”。
相关推荐
Java ZXing库,全称“Zebra Crossing”,是一款开源的二维码和条形码处理库,广泛应用于各种数据编码和解码场景。它提供了强大的功能,能够轻松地在Java应用程序中生成和读取二维码和条形码。下面我们将深入探讨如何...
1. **ZXing介绍**:ZXing,又名“条形码射手”,是一个开源的、多平台的、用于读取和生成多种一维和二维条码的库。它支持多种格式,包括但不限于QR码、Aztec码、PDF417、Code 39、EAN-13等。 2. **核心库(Core)**:...
通过研究这些文件,可以了解到实际项目中如何使用ZXing.Net库进行条形码解码的完整流程。 1. **UI设计**:项目可能包含一个窗体(Form),设置了摄像头控件或图像选择按钮,以及用于显示解码结果的文本框或标签。 ...
ZXing,全称为“Zebra Crossing”,是一款开源的、跨平台的条形码和二维码读取与生成库。Google ZXing项目始于2007年,旨在为多种平台提供便捷的条码处理能力,包括Java、Android、iOS、Web等。这个压缩包中的源码是...
ZXing(Zebra Crossing)是一个开源的、跨平台的条码和二维码读取库,它支持多种编码格式,包括常见的QR码和一维条形码。这个“zxing二维一维码扫描”项目是一个专门为Android平台开发的应用,利用ZXing库实现二维码...
ZXing(Zebra Crossing)是Google开发的一个开源项目,专门用于处理一维条形码和二维二维码的生成与读取。这个项目的名字来源于其英文名的首字母缩写,象征着“斑马线”,寓意在数据世界中指引信息的交汇。ZXing提供...
二维条码编码解码源代码是Java开发领域中与数据编码和解码技术相关的实践案例。QR Code(Quick Response Code,快速响应码)是一种广泛应用于各种场景的二维条码标准,由日本Denso Wave公司在1994年推出。它在传统一...
Python ZXing 库是将Java版ZXing(Zone Xing)库与Python结合的一个项目,主要功能在于处理图像中的条形码和二维码识别。ZXing,又称为“条形码扫描器”,是一个开源的、多平台的二维码和一维条形码读取库。在Python中...
ZXing是一个强大的、多格式的一维/二维条码图像处理库,支持多种编码和解码格式,包括常见的QR码和条形码。它的核心库ZXing Core提供了跨平台的解码功能,可以被集成到Android、iOS以及其他Java应用程序中。 以下是...
ZXing.NET,全称为“Zebra Crossing for .NET”,是一个基于C#的开源库,用于读取和写入多种一维和二维条码,包括二维码(QR Code)和常见的条形码格式,如EAN、UPC、Code 128等。这个库是ZXing(Java版本)的.NET...
ZXing(又称为“ZXing库”或“二维码扫描器”)是一个开源Java库,它支持多种一维条形码和二维条码格式,包括但不限于QRCode、DataMatrix、UPC-A、EAN-13等。该库不仅提供Java版本,还支持Android和iOS平台,使得...
2. 条形码解码: 定位到条形码后,使用ZXing库进行解码。ZXing提供了一个`MultiFormatReader`类,它可以自动检测并解码多种条形码格式。 ```csharp using ZXing; using ZXing.Common; Bitmap barcodeImage = ...
ZXing支持多种格式的一维和二维条码,包括但不限于UPC-A、EAN-13、Code 128、QR Code、Data Matrix等。在ZXing-1.5版本中,它提供了一系列的功能和优化,以提升条码扫描的准确性和速度。 一、条形码与二维码 1. **...
二维码是一种二维条形码,能存储更多的信息,包括文字、网址、联系信息等。在iReport中生成二维码,我们需要引入ZXing库,这是一个开源的二维码生成和读取库。 1. 引入库:ZXing的javase.jar和core-3.0.0.jar需要...
Zxing是一个开放源码的多格式一维和二维条码图像处理库,支持多种条码类型,如QR码、Code 128、EAN-13等。它提供了从图像中检测和解码条码的能力,同时具备生成条码图片的功能。Zxing不仅适用于Android,还支持Java...
**ZXing (ZBar)**: ZXing是一个开源的、跨平台的条形码解码库,支持多种类型的条形码,包括一维的EAN、UPC,二维的QR Code、Data Matrix等。ZBar不仅能够识别单个条形码,还具备同时识别图像中多个条形码的能力。在...
Zxing,又称为Google条码阅读器,是一个跨平台的开源库,用于读取和写入多种一维和二维条码格式。在Android中,Zxing提供了`com.google.zxing.client.android`库,它包含了一个完整的条码扫描器应用程序,同时也提供...
### ZXing条形码解码知识点详解 #### 一、ZXing简介 ZXing(发音为 "zexing")是一款开源的条形码扫描库,支持多种编程语言,包括Java。它能够读取和生成多种格式的一维条形码和二维条形码,如QR Code、Data Matrix...