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

zxing二维码的生成和解码

    博客分类:
  • Java
 
阅读更多
转载:http://andilyliao.iteye.com/blog/1102546

适用于j2se的方法
例子:
package snippet;

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.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Reader;
import com.google.zxing.ReaderException;
import com.google.zxing.Result;
import com.google.zxing.WriterException;
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;
  
public class TestEnDeCode {  
  
    /** 
     *  
     */  
    public TestEnDeCode() {  
        // TODO Auto-generated constructor stub  
    }  
  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        TestEnDeCode t=new TestEnDeCode();  
        t.encode();  
        t.decode();
    }  
  
    // 编码  
    public void encode() {  
        try {  
            String str = "小猪";// 二维码内容  
            String path = "hwy.png";  
            BitMatrix byteMatrix;  
            Hashtable hints = new Hashtable();  
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");  
            byteMatrix = new MultiFormatWriter().encode(str,  
                    BarcodeFormat.QR_CODE, 200, 200,hints);  
            File file = new File(path);  
              
            MatrixToImageWriter.writeToFile(byteMatrix, "png", file);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
  
    // 解码  
    public void decode() {  
        try {  
            Reader reader = new MultiFormatReader();  
            String imgPath = "hwy.png";  
            File file = new File(imgPath);  
            BufferedImage image;  
            try {  
                image = ImageIO.read(file);  
                if (image == null) {  
                    System.out.println("Could not decode image");  
                }  
                LuminanceSource source = new BufferedImageLuminanceSource(image);  
                BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(  
                        source));  
                Result result;  
                Hashtable hints = new Hashtable();  
                hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");  
                result = new MultiFormatReader().decode(bitmap, hints);  
                String resultStr = result.getText();  
                System.out.println(resultStr);  
  
            } catch (IOException ioe) {  
                System.out.println(ioe.toString());  
            } catch (ReaderException re) {  
                System.out.println(re.toString());  
            }  
  
        } catch (Exception ex) {  
  
        }  
    }  
  
} 
分享到:
评论

相关推荐

    zxing二维码生成与扫描

    在这个"zxing二维码生成与扫描"的例子中,开发者可能已经将ZXing的核心功能进行了封装和简化,使得调用和使用更加简便。通常会包括二维码的生成API和扫描API的示例代码,帮助开发者快速理解和实现二维码功能。 4. ...

    zxing 二维码扫描demo +js二维码生成demo

    ZXing是一个开源的Java库,支持多种条码和二维码格式的读取与生成,而JavaScript则是一种广泛用于Web开发的脚本语言,可以实现浏览器端的二维码生成。 **ZXing(Zebra Crossing)二维码扫描:** ZXing是一个强大的...

    Zxing二维码生成与解析

    总结,Zxing是一个强大且灵活的二维码生成和解析工具,适合各种应用场景,无论你是开发者还是爱好者,都可以通过Zxing轻松实现二维码的创建和读取。对于想要深入了解二维码技术或者在项目中集成二维码功能的读者来说...

    Zxing二维码生成读取API

    本篇文章将详细介绍Zxing在二维码生成与读取方面的应用,并提供C#环境下的具体示例。 1. **二维码生成**: - **API接口**:Zxing库提供了`Writer`接口,用于生成不同类型的二维码。在C#中,可以使用`BarcodeFormat...

    ZXing二维码识别和生成的demo

    在本示例"ZXing二维码识别和生成的demo"中,我们将探讨如何使用ZXing库来实现二维码的读取和创建,以及如何在生成的二维码中嵌入自定义的logo。 1. **二维码识别**: - ZXing提供了`BarcodeScanner`类,用于实时...

    Zxing生成二维码(解决中文乱码)

    这是Zxing的源码,没有打包成jar利于学习使用。...使用时注意path的默认地址,Main类中是生成二维码的代码,GetMain类中是读取二维码的代码。 eclipse中Ctrl+Shift+R快速查找类 希望对你有所帮助。

    ireport生成一维码和google zxing二维码

    在iReport中生成二维码,我们需要引入ZXing库,这是一个开源的二维码生成和读取库。 1. 引入库:ZXing的javase.jar和core-3.0.0.jar需要添加到项目的类路径中,以支持二维码的生成。 2. 使用自定义函数:由于...

    zxing二维码生成和解析代码

    6. **异常处理**:在处理二维码生成和解析时,可能会遇到各种异常,例如无效的输入数据、无法读取的图像文件等,因此在编写代码时需要充分考虑异常处理,确保程序的健壮性。 这个简单的Java项目提供了一个学习和...

    zxing3.3.1二维码生成

    这个“zxing3.3.1二维码生成”是一个针对二维码生成功能的特定版本,版本号为3.3.1。这个jar包包含了ZXing库的所有功能,便于开发者在项目中集成二维码生成的功能。 ZXing库支持多种类型的条码和二维码,包括但不...

    zxing二维码jar包

    以上就是ZXing库在生成和解码二维码方面的基本操作。`zxing.jar`包是这个库的核心组件,包含了所有必要的类和方法。在实际项目中,你可以根据需求调整参数,优化性能,或者与其他编程语言(如Python、C#等)结合,...

    C# 二维码生成及解码

    本主题将深入探讨如何使用C#编程语言结合开源库ZXing(Zebra Crossing)来实现二维码的生成和解码,同时利用多态和抽象等面向对象编程原则。 首先,ZXing是一个强大的条形码和二维码读写库,它支持多种编码格式,...

    Android zxing二维码扫描个人优化版

    【Android Zxing二维码扫描个人优化版】是一款专为Android平台设计的二维码扫描工具,基于开源项目ZXing(Zebra Crossing)进行二次开发和优化。ZXing是一个强大的、开放源码的多格式一维和二维条码图像处理库,支持...

    Zxing二维码生成、识别

    Zxing,全称“Zebra Crossing”,是一个开源的、多平台的条码图像处理库,支持多种格式的条码和二维码生成与识别。本文将深入探讨Zxing在C#环境中的应用,帮助你掌握如何生成和识别二维码。 首先,我们要了解二维码...

    com.google.zxing 二维码生成与解析

    2. **二维码生成**:ZXing库提供了生成二维码的功能。在Java环境中,可以使用`com.google.zxing.client.j2se.MatrixToImageWriter`类将数据转换为图像格式的二维码。通过设置参数如二维码的颜色、大小、纠错级别等,...

    Zxing二维码生成及扫码源码

    2. 创建二维码生成器:创建一个`ZXing.QRCodeWriter`对象,这将作为生成二维码的主要工具。 3. 设置参数:根据需求,你可以调整二维码的错误校正级别和数据编码模式。 4. 生成二维码图像:调用`QRCodeWriter....

    Zxing C#生成条码和二维码

    在IT行业中,生成条码和二维码是常见的数据编码与解码任务,特别是在自动化识别和物联网应用中。ZXing,全称“Zebra Crossing”,是一个强大的、开源的图像处理库,用于读取和生成多种1D(一维)和2D(二维)条码。...

    二维码生成和解码工具iQR1.0

    二维码生成和解码工具iQR1.0是专为处理二维码而设计的一款实用软件,它集成了二维码的创建和读取功能,适用于个人和企业用户。在数字化信息日益普及的今天,二维码因其方便快捷的特性,被广泛应用于各种场景,如名片...

    ZXing二维码生成依赖的Jar包

    首先,ZXing库的核心功能包括读取、生成、解码和编码各种类型的条码和二维码。其中,二维码(Quick Response Code)是一种二维条码,可以存储大量的文本信息,如网址、文本、联系人信息等,适用于多种场景,如产品...

    zxing生成、解析二维码

    ZXing(Zebra Crossing)是一个开源的、多平台的条形码读取库,它支持多种格式的条形码和二维码生成与解析。在本文中,我们将深入探讨如何使用ZXing来生成和解析二维码,以及如何利用QRcode.java类创建二维码名片。 ...

Global site tag (gtag.js) - Google Analytics