`

zxing二维码的生成与解码(java)

阅读更多
zxing二维码的生成与解码(java)
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.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.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 = "CN:男;COP:公司;ZW:职务";// 二维码内容
			String path = "D:\\hwy.png";
			BitMatrix byteMatrix;
			byteMatrix = new MultiFormatWriter().encode(new String(str.getBytes("GBK"),"iso-8859-1"),
					BarcodeFormat.QR_CODE, 200, 200);
			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 = "D:\\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, "GBK");
				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) {

		}
	}

}

分享到:
评论
13 楼 A_rong110 2014-02-13  
似乎不能解码啊?
12 楼 dingchuan 2014-01-20  
请问各位,这个二维码的logo怎么加呢?
11 楼 qust085 2013-12-26  
wwwmmmbird 写道
非常感谢仁兄,我终于找到能用的jar,官方的都不给打成jar,而且有些类还不存在。

官方给了,在maven仓库中可以下载下来啊
10 楼 wwwmmmbird 2013-09-03  
非常感谢仁兄,我终于找到能用的jar,官方的都不给打成jar,而且有些类还不存在。
9 楼 hfld 2013-08-30  
挺好用的,谢谢
8 楼 andilyliao 2013-04-24  
aisdl 写道
您好,请问如何生成超链接的二维码?就是扫描后得出的结果是一个链接。是要转码吗?还是修改字符集设定?

可以这样做 解析的二维码中携带一个超链接信息,然后解析后直接通过http协议发包就行了。
7 楼 aisdl 2013-04-24  
您好,请问如何生成超链接的二维码?就是扫描后得出的结果是一个链接。是要转码吗?还是修改字符集设定?
6 楼 sdffa 2012-11-02  
不用搭环境 搞网站了
5 楼 hy_zhym 2011-09-07  
如果我想直接在网页上画出来怎么用呢?就好像画验证码似的??
4 楼 andilyliao 2011-09-02  
我把需要的依赖包也打好了 直接用就行了 如果需要别的功能还得下载他的源码编译,这个东西叫zxing,对各种客户端都有支持。
3 楼 andilyliao 2011-09-02  
我把修改好的代码已经重新贴进去了,过去的那个是从网上找的 看着不错就放上去了,但是有问题 呵呵。
2 楼 andilyliao 2011-09-02  
实在不好意思,屏蔽的那句是MatrixToImageWriter.writeToFile(byteMatrix, "png", file);
这样可以生成2维码了,不过有中文乱码问题,我正在解决
1 楼 chenshuangjiang 2011-08-01  
请问。我看了您这段代码介绍。可是根本就生成不了。只是生成一个空文件,。我现在也要做一个二维代码生成和 识别的功能。希望您有相关资料或者信息帮我提示一下吧。谢谢了。网上关于Zxing的项目资料实在太少了。请您方便的时候联系我
我的MSN chenshuangjiang@hotmail.com

相关推荐

    zxing二维码生成与扫描

    在本项目中,"zxing二维码生成与扫描"是ZXing库的一个简化应用实例,特别适合初学者或者需要快速集成二维码功能的开发者参考。 1. **二维码技术基础** 二维码(Quick Response Code)是一种二维条形码,可以存储...

    Zxing二维码生成与解析

    《Zxing:二维码生成与解析全面解析》 在数字化时代,二维码已经成为我们日常生活和工作中不可或缺的一部分,无论是信息传递、支付还是广告推广,二维码都扮演着重要角色。Zxing(ZXing,发音为“zebra crossing”...

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

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

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

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

    Zxing二维码生成读取API

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

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

    **标题:“com.google.zxing 二维码生成与解析”** **核心知识点:** 1. **ZXing库介绍**:ZXing,全称为“Zebra Crossing”,是Google开发的一个开源的、跨平台的条码读取库。它支持多种条码和二维码格式,包括QR...

    ZXing生成可选logo和文字的二维码图片工具类ZXingCodeUtils

    这个工具类基于ZXing(Zebra Crossing)开源库,版本号为3.1.0,ZXing是一个广泛使用的二维码和条形码解码与编码库。下面我们将详细讨论这个工具类以及其背后的ZXing库。 1. **ZXing库介绍** - ZXing(读作"zebra ...

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

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

    java zxing二维码、条形码生成与解码

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

    Java QRCode二维码生成与识别 开源

    Java QRCode二维码生成与识别是Java编程领域中的一个重要技术,主要应用于数据编码和快速信息交换。QRCode(Quick Response Code)是一种二维条码,能够存储大量的文本信息,包括字母、数字、汉字等,并且可以被各种...

    zxing二维码jar包

    ZXing,全称为“Zebra Crossing”,是一款开源的、跨平台的条码处理库,它支持多种条码格式,包括二维码(QR Code)的生成与解码。在Java开发中,ZXing通常以一个名为`zxing.jar`的库文件形式提供,便于开发者集成到...

    Java二维码添加中间logo,有Zxing与QRCode两种方式

    关于Zxing和QRCode的比较,Zxing功能更全面,支持多种编码解码格式,而QRCode则专精于二维码生成,API设计更加简洁。在选择使用哪个库时,需要根据项目需求和性能考虑。 总的来说,生成带有中间logo的Java二维码...

    zxing3.3.1二维码生成

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

    Java二维码生成工具

    Java二维码生成工具是一种基于Java编程语言的实用程序,它能够帮助开发者创建二维码图像,以便在各种应用场景中使用,如信息传递、网址链接、名片交换等。二维码作为一种高效的数据编码方式,已经广泛应用于现代生活...

    ZXing二维码识别和生成的demo

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

    二维码生成与解码(包含包文件)

    在压缩包文件中可能包含有各种编程语言实现的二维码生成和解码库,例如Python的`qrcode`库、Java的`Zxing`库等。这些库提供了方便的API接口,使得开发者可以快速集成二维码功能到自己的应用程序中。使用这些库,用户...

    ZXing二维码生成依赖的Jar包

    这个压缩包文件包含的是ZXing库用于生成二维码所必需的依赖Jar包,使得开发者能够轻松地在自己的Java项目中集成二维码生成功能。 首先,ZXing库的核心功能包括读取、生成、解码和编码各种类型的条码和二维码。其中...

    java使用谷歌zxing实现二维码生成读取

    `QRCode.java`可能包含一个自定义的类,用于简化二维码生成和读取的操作,比如提供一个方法同时处理生成和解码的过程。`QRCodeFormat.java`则可能是用来定义二维码的格式或者参数设置,如容错级别、编码模式等。 在...

    zxing生成、解析二维码

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

    JS 和 java二维码生成

    此外,提到的`PhotoSwipe4.1.1Demo.rar`和`jQuery图片相册点击缩略图弹出大图预览特效.zip`似乎与二维码生成不直接相关,它们可能是用于图片展示和交互的库或示例。PhotoSwipe是一个流行的移动端图片滑动库,而...

Global site tag (gtag.js) - Google Analytics