`
rayln
  • 浏览: 433799 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

zxing条形码的生成和解码

    博客分类:
  • Java
 
阅读更多
转载: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二维码、条形码生成与解码

    Java ZXing库,全称“Zebra Crossing”,是一款开源的二维码和条形码处理库,广泛应用于各种数据编码和解码场景。它提供了强大的功能,能够轻松地在Java应用程序中生成和读取二维码和条形码。下面我们将深入探讨如何...

    Zxing 条形码 二维码生成

    - **条形码生成**:过程类似,选择合适的条形码类型,如`Code128Writer`,并调用相应方法生成条形码图像。 4. **自定义设置**: - **图片大小**:可以通过设置`BarcodeOptions`的`Width`和`Height`属性来控制生成...

    zxing生成条形码和二维码并打印(Vb.net).rar

    本文将深入探讨如何使用ZXing在VB.NET 2010中生成条形码和二维码,并进行解码和打印操作。 首先,我们需要在VB.NET项目中引入ZXing.Net。这通常通过NuGet包管理器完成,搜索"ZXing.Net"并安装对应的包。安装完成后...

    OpenCvSharp+ZXing条形码识别

    在本文中,我们将深入探讨如何使用OpenCvSharp与ZXing.NET库在C#环境中实现条形码的定位和识别。这两个开源库是IT行业中处理图像处理和条形码识别的强大工具。 首先,OpenCV(开源计算机视觉库)是一个跨平台的...

    zxing条形码扫描DEMO

    "ZXing条形码扫描DEMO"是基于ZXing库的一个简单示例,帮助开发者快速理解如何在Android应用中实现条形码扫描。 在这个DEMO中,有两个关键的文件部分: 1. **Jar包**:这里提到的两个`.jar`文件很可能是ZXing的核心...

    C#利用Zxing.net生成条形码和二维码并实现打印,解码

    在本文中,我们将深入探讨如何使用C#编程语言结合Zxing.Net库来生成条形码和二维码,并且实现它们的打印和解码功能。Zxing.Net是一个强大的开源库,它为.NET开发者提供了读取和生成多种条形码和二维码的能力。在...

    使用zxing开发的二维码/条形码/带logo彩色二维码例子

    Google开源的ZXing(Zebra Crossing)库为开发者提供了跨平台的二维码和条形码生成与解码能力。本项目以ZXing为基础,结合自定义功能,如生成带有Logo的彩色二维码,为开发人员提供了更丰富的应用场景。 ZXing(又...

    java实现条形码二维码生成含文字标签信息

    本篇将深入探讨如何使用Java结合ZXing库来生成包含文字标签信息的条形码和二维码。 ZXing,全称为“Zebra Crossing”,是一个开源的、跨平台的条码读取和生成项目。它支持多种条码格式,包括一维条形码(如EAN-13、...

    Zxing 条形码解码

    ### ZXing条形码解码知识点详解 #### 一、ZXing简介 ZXing(发音为 "zexing")是一款开源的条形码扫描库,支持多种编程语言,包括Java。它能够读取和生成多种格式的一维条形码和二维条形码,如QR Code、Data Matrix...

    C# 生成条形码,这个程序是使用了zxing.dll控件例子,可以生成包括39码在内的条形码,还可生成二维码,程序自身是WPF类

    C# 生成条形码,这个程序是使用了zxing.dll控件例子,可以生成包括39码在内的条形码,还可生成二维码,程序自身是WPF类型的。用户测试时,输入13位数字字符串,然后单击对应按钮即可生成二维码或条形码,可对其进行...

    com.google.zxing二维码、条形码

    1. **ZXing介绍**:ZXing,又名“条形码射手”,是一个开源的、多平台的、用于读取和生成多种一维和二维条码的库。它支持多种格式,包括但不限于QR码、Aztec码、PDF417、Code 39、EAN-13等。 2. **核心库(Core)**:...

    zxing.dll/条形码/二维码、版本0.16.2

    1. **条形码和二维码生成**:ZXing提供了一套完整的API,使得开发者能够创建各种类型的条形码,如Code 128、EAN、UPC等,以及二维码,如QR Code、Aztec、Data Matrix等。生成的条形码和二维码可以嵌入到网页、文档...

    利用zxing.dll生成和解码二维码

    ZXing(Zebra Crossing)是Google开发的一个开源的、跨平台的条形码和二维码读取与生成库。在这个场景中,我们将讨论如何利用ZXing.dll这个.NET库在C#环境下生成和解码二维码。 首先,我们要了解ZXing.dll的基本...

    zxing条形码扫描

    总的来说,ZXing条形码扫描技术涉及了图像处理、颜色空间转换、条码识别算法等多个方面的知识。`PlanarYUVLuminanceSource`作为其中的关键组件,负责将原始的图像数据转化为适合解码的格式,而`core.jar`则提供了...

    基于Zxing的二维码条形码扫描和生成demo

    **基于Zxing的二维码条形码扫描和生成详解** 二维码和条形码在现代生活中扮演着重要的角色,尤其是在数据交换、商品追踪以及移动支付等领域。Zxing(也称为ZXing,意为“zebra crossing”,斑马线)是Google开发的...

    Python zxing 库(条形码二维码识别)

    Python ZXing 库是将Java版ZXing(Zone Xing)库与Python结合的一个项目,主要功能在于处理图像中的条形码和二维码识别。ZXing,又称为“条形码扫描器”,是一个开源的、多平台的二维码和一维条形码读取库。在Python中...

    ZXing.NET C#使用ZXing识别二维码,条形码

    ZXing.NET,全称为“Zebra Crossing for .NET”,是一个基于C#的开源库,用于读取和写入多种一维和二维条码,包括二维码(QR Code)和常见的条形码格式,如EAN、UPC、Code 128等。这个库是ZXing(Java版本)的.NET...

    C#利用zxing.net生成二维码和条形码并实现打印的功能

    利用zxing.dll生成和解码二维码。zxing.dll的简单应用,大家可以用反编译工具查看源码,非常方便就只有一个dll文件直接饮用就可以使用!

    条形码的生成读取

    ZXing提供了完整的条形码生成和读取功能,使得开发者可以轻松地集成到自己的应用中。 **条形码生成:** 在ZXing中,我们主要使用`com.google.zxing.client.j2se.MatrixToImageWriter`类来生成条形码图片。首先,...

    Autojs调用zxing实现条形码与二维码

    本篇文章将详细探讨如何利用AutoJS调用ZXing库来实现条形码和二维码的扫描功能。 首先,ZXing(Zebra Crossing)是一个开源的、跨平台的条形码和二维码读取库。它支持多种编码格式,如QR码、Data Matrix、UPC、EAN...

Global site tag (gtag.js) - Google Analytics