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上面提供的一个关于条码编解码的开源项目。
要对本项目进行二次开发,首先你需要在源码下载列表中下载ZXing1.7.zip源代码
解压文件,你会看到里面有很多文件夹,包括J2SE的,Android的,J2ME,C#等等。我们以J2SE为例。
你需要使用里面的Core和J2SE文件夹。然后导入到你在Eclipse中创建的工程,目录形式如下:
J2SE包中,提供了编码和解码的.Java文件,但是由于写的过于复杂,还没弄清楚这个开源项目源码之前,还是不推荐使用。(You can download jar file from my attachment)
自己在j2se包中创建两个Java文件Encoder和Decoder。代码如下:
- package com.google.zxing.client.j2se;
-
- import java.io.File;
- import java.io.IOException;
- 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.common.BitMatrix;
-
- public class Encoder {
-
- public static void main(String[] args) {
-
- 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");
-
- try {
-
- MatrixToImageWriter.writeToFile(matrix, "png", file);
-
- } catch (IOException e) {
-
- e.printStackTrace();
-
- }
-
- }
- }
- package com.google.zxing.client.j2se;
-
- 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.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());
-
- }
-
- }
分享到:
相关推荐
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年推出。它在传统一...
ZXing.NET,全称为“Zebra Crossing for .NET”,是一个基于C#的开源库,用于读取和写入多种一维和二维条码,包括二维码(QR Code)和常见的条形码格式,如EAN、UPC、Code 128等。这个库是ZXing(Java版本)的.NET...
Python ZXing 库是将Java版ZXing(Zone Xing)库与Python结合的一个项目,主要功能在于处理图像中的条形码和二维码识别。ZXing,又称为“条形码扫描器”,是一个开源的、多平台的二维码和一维条形码读取库。在Python中...
ZXing是一个强大的、多格式的一维/二维条码图像处理库,支持多种编码和解码格式,包括常见的QR码和条形码。它的核心库ZXing Core提供了跨平台的解码功能,可以被集成到Android、iOS以及其他Java应用程序中。 以下是...
2. 条形码解码: 定位到条形码后,使用ZXing库进行解码。ZXing提供了一个`MultiFormatReader`类,它可以自动检测并解码多种条形码格式。 ```csharp using ZXing; using ZXing.Common; Bitmap barcodeImage = ...
Zxing,又称为“开源的跨平台条码图像处理库”,可以处理一维和二维条码,包括但不限于EAN-13、UPC-A、Code 39、Code 128、QR Code、Data Matrix等。它包含了一个Java库,用于解析条码图像,并提供了命令行工具以及...
ZXing(又称为“ZXing库”或“二维码扫描器”)是一个开源Java库,它支持多种一维条形码和二维条码格式,包括但不限于QRCode、DataMatrix、UPC-A、EAN-13等。该库不仅提供Java版本,还支持Android和iOS平台,使得...
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(Zebra Crossing),又称“条形码解码库”,是一个开源项目,提供了多种格式的一维和二维条码读取功能,包括二维码。本篇文章将深入探讨如何使用ZXing来识别一幅包含多个二维码的图片。 首先,我们需要理解...
**ZXing (ZBar)**: ZXing是一个开源的、跨平台的条形码解码库,支持多种类型的条形码,包括一维的EAN、UPC,二维的QR Code、Data Matrix等。ZBar不仅能够识别单个条形码,还具备同时识别图像中多个条形码的能力。在...