转载:http://sjsky.iteye.com/blog/1142177
package michael.zxing;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
/**
* @blog http://sjsky.iteye.com
* @author Michael
*/
public class ZxingEAN13EncoderHandler {
/**
* 编码
* @param contents
* @param width
* @param height
* @param imgPath
*/
public void encode(String contents, int width, int height, String imgPath) {
int codeWidth = 3 + // start guard
(7 * 6) + // left bars
5 + // middle guard
(7 * 6) + // right bars
3; // end guard
codeWidth = Math.max(codeWidth, width);
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(contents,
BarcodeFormat.EAN_13, codeWidth, height, null);
MatrixToImageWriter
.writeToFile(bitMatrix, "png", new File(imgPath));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param imgPath
* @return String
*/
public String decode(String imgPath) {
BufferedImage image = null;
Result result = null;
try {
image = ImageIO.read(new File(imgPath));
if (image == null) {
System.out.println("the decode image may be not exit.");
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
result = new MultiFormatReader().decode(bitmap, null);
return result.getText();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* @param args
*/
public static void main(String[] args) {
String imgPath = "zxing_EAN13.png";
// 益达无糖口香糖的条形码
String contents = "6923450657713";
int width = 105, height = 50;
ZxingEAN13EncoderHandler handler = new ZxingEAN13EncoderHandler();
handler.encode(contents, width, height, imgPath);
String decode = handler.decode(imgPath);
System.out.println(decode);
System.out.println("Michael ,you have finished zxing EAN13 encode.");
}
}
分享到:
相关推荐
Java ZXing库,全称“Zebra Crossing”,是一款开源的二维码和条形码处理库,广泛应用于各种数据编码和解码场景。它提供了强大的功能,能够轻松地在Java应用程序中生成和读取二维码和条形码。下面我们将深入探讨如何...
- **条形码生成**:过程类似,选择合适的条形码类型,如`Code128Writer`,并调用相应方法生成条形码图像。 4. **自定义设置**: - **图片大小**:可以通过设置`BarcodeOptions`的`Width`和`Height`属性来控制生成...
本文将深入探讨如何使用ZXing在VB.NET 2010中生成条形码和二维码,并进行解码和打印操作。 首先,我们需要在VB.NET项目中引入ZXing.Net。这通常通过NuGet包管理器完成,搜索"ZXing.Net"并安装对应的包。安装完成后...
在本文中,我们将深入探讨如何使用OpenCvSharp与ZXing.NET库在C#环境中实现条形码的定位和识别。这两个开源库是IT行业中处理图像处理和条形码识别的强大工具。 首先,OpenCV(开源计算机视觉库)是一个跨平台的...
"ZXing条形码扫描DEMO"是基于ZXing库的一个简单示例,帮助开发者快速理解如何在Android应用中实现条形码扫描。 在这个DEMO中,有两个关键的文件部分: 1. **Jar包**:这里提到的两个`.jar`文件很可能是ZXing的核心...
在本文中,我们将深入探讨如何使用C#编程语言结合Zxing.Net库来生成条形码和二维码,并且实现它们的打印和解码功能。Zxing.Net是一个强大的开源库,它为.NET开发者提供了读取和生成多种条形码和二维码的能力。在...
Google开源的ZXing(Zebra Crossing)库为开发者提供了跨平台的二维码和条形码生成与解码能力。本项目以ZXing为基础,结合自定义功能,如生成带有Logo的彩色二维码,为开发人员提供了更丰富的应用场景。 ZXing(又...
本篇将深入探讨如何使用Java结合ZXing库来生成包含文字标签信息的条形码和二维码。 ZXing,全称为“Zebra Crossing”,是一个开源的、跨平台的条码读取和生成项目。它支持多种条码格式,包括一维条形码(如EAN-13、...
### ZXing条形码解码知识点详解 #### 一、ZXing简介 ZXing(发音为 "zexing")是一款开源的条形码扫描库,支持多种编程语言,包括Java。它能够读取和生成多种格式的一维条形码和二维条形码,如QR Code、Data Matrix...
C# 生成条形码,这个程序是使用了zxing.dll控件例子,可以生成包括39码在内的条形码,还可生成二维码,程序自身是WPF类型的。用户测试时,输入13位数字字符串,然后单击对应按钮即可生成二维码或条形码,可对其进行...
1. **ZXing介绍**:ZXing,又名“条形码射手”,是一个开源的、多平台的、用于读取和生成多种一维和二维条码的库。它支持多种格式,包括但不限于QR码、Aztec码、PDF417、Code 39、EAN-13等。 2. **核心库(Core)**:...
1. **条形码和二维码生成**:ZXing提供了一套完整的API,使得开发者能够创建各种类型的条形码,如Code 128、EAN、UPC等,以及二维码,如QR Code、Aztec、Data Matrix等。生成的条形码和二维码可以嵌入到网页、文档...
ZXing(Zebra Crossing)是Google开发的一个开源的、跨平台的条形码和二维码读取与生成库。在这个场景中,我们将讨论如何利用ZXing.dll这个.NET库在C#环境下生成和解码二维码。 首先,我们要了解ZXing.dll的基本...
总的来说,ZXing条形码扫描技术涉及了图像处理、颜色空间转换、条码识别算法等多个方面的知识。`PlanarYUVLuminanceSource`作为其中的关键组件,负责将原始的图像数据转化为适合解码的格式,而`core.jar`则提供了...
**基于Zxing的二维码条形码扫描和生成详解** 二维码和条形码在现代生活中扮演着重要的角色,尤其是在数据交换、商品追踪以及移动支付等领域。Zxing(也称为ZXing,意为“zebra crossing”,斑马线)是Google开发的...
Python ZXing 库是将Java版ZXing(Zone Xing)库与Python结合的一个项目,主要功能在于处理图像中的条形码和二维码识别。ZXing,又称为“条形码扫描器”,是一个开源的、多平台的二维码和一维条形码读取库。在Python中...
ZXing.NET,全称为“Zebra Crossing for .NET”,是一个基于C#的开源库,用于读取和写入多种一维和二维条码,包括二维码(QR Code)和常见的条形码格式,如EAN、UPC、Code 128等。这个库是ZXing(Java版本)的.NET...
利用zxing.dll生成和解码二维码。zxing.dll的简单应用,大家可以用反编译工具查看源码,非常方便就只有一个dll文件直接饮用就可以使用!
ZXing提供了完整的条形码生成和读取功能,使得开发者可以轻松地集成到自己的应用中。 **条形码生成:** 在ZXing中,我们主要使用`com.google.zxing.client.j2se.MatrixToImageWriter`类来生成条形码图片。首先,...
本篇文章将详细探讨如何利用AutoJS调用ZXing库来实现条形码和二维码的扫描功能。 首先,ZXing(Zebra Crossing)是一个开源的、跨平台的条形码和二维码读取库。它支持多种编码格式,如QR码、Data Matrix、UPC、EAN...