`

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

相关推荐

    Android Zxing 二维码扫描和生成

    zxing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的接口;可以实现使用手机的内置的摄像头完成条形码和二维码的扫描与解码;也可以实现条形码和二维码的编码与解码。

    Android代码-zxing二维码扫描例子

    本sample是android系统使用zxing进行条形码、二维码编解码处理的范例,是google提供范例的精简版本,仅保留扫码及二维码生成。本精简版本来源于网络,只是替换zxing的核心库到最新版,并增加了一些注释。 zxing简介 ...

    zxing生成、解析二维码

    完美使用zxing生成二维码,可带logo,可解码,不仅如此,其中QRcode.java还可以用于生成二维码名片

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

    使用zxing实现数据二维码、条形码的生成与解析

    JAVA二维码生成和解码

    直接导入myeclipse就可以用,本人亲测,无jar包,不需要其他jar,全是源码,直接可以用,运行com.google.zxing.client.j2se.Encoder生成二维码,运行com.google.zxing.client.j2se.Decoder解码

    基于google zxing的Java二维码生成与解码

    主要为大家详细介绍了基于google zxing的Java二维码生成与解码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java二维码生成添加了Logo,Zxing与QRCode两种生产方式

    基于Java的二维码生成与解码,添加了Logo,其中有Zxing与QRCode两种生产方式。还添加了对logo的压缩功能

    谷歌的zxing方式生成二维码的jar包和已经写好的工具类

    解压包之后,将core.jar引入工程中,将助手类复制到工程中,调用助手类的方法,可以直接生成二维码了。这个生成方式兼容能力比较差,不兼容微信的扫描,只能兼容常见的专门扫描二维码的app应用。

    zxing-3.2.1.jar google最新的二维码生成

    google,最新的二维码,生成zxing-3.2.1.jar.开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码

    二维码编码解码demo,包含swetake,ZXing

    二维码创建与解析的demo 包含两种方式 swetake Zxing 该demo可直接运行创建二维码 也可直接解析二维码 两种方式都有demo 在我的帖子:http: blog csdn net wojiao555555 article det

    Zxing一维二维码生成或解析的源代码和案例

    ZXing(发音为“斑马线”)是一个开放源码的,多种格式的1D/2D条码图像处理库,用Java实现的,与其他语言的端口。我们的重点是使用内置的摄像头在手机上的条形码进行扫描及解码的设备,不与服务器通信。然而,该项目...

    QR-Code-Generator-offline:Android 应用程序使用 ZXing 生成二维码进行解码-离线

    #QR-Code-Generator-offline Android 应用程序使用 ZXing 生成二维码以进行离线解码。

    重新编译的可使用byte[]生成二维码的zxing-core-3.4.0

    对zxing的core3.4.0新增了使用byte数组生成二维码的方法和解码方法,新增内容详细代码和使用方法参考: 改写步骤:zxing使用byte数组生成二维码和解析二维码。...使用方法:java压缩字符串并生成二维码...

    二维码编码解码器源码20130905

    zxing的功能还是很强大的,最初是用java编写,并支持Android、ios、symbian等手机操作系统。 不过不知是何原因,该官网连一个例子也没有,文档也是字典式的把所有类列出来,一点都没为读者考虑。 下面我把如果使用...

    生成二维码ZXing.Net-4.0.zip

    ZXing,一个支持在图像中解码和生成条形码(如二维码、PDF 417、EAN、UPC、Aztec、Data Matrix、Codabar)的库。ZXing(“zebra crossing”)是一个开源的、多格式的、用Java实现的一维/二维条码图像处理库,具有到其他...

    自写的一个Android手机生成二维码

    ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。目前支持以下...

    二维码编码解码器源码

    zxing的功能还是很强大的,最初是用java编写,并支持Android、ios、symbian等手机操作系统。 不过不知是何原因,该官网连一个例子也没有,文档也是字典式的把所有类列出来,一点都没为读者考虑。 下面我把如果使用...

    二维码扫描及生成

    zxing可以实现使用手机的内置的摄像头完成条形码和二维码的扫描与解码。 zxing可以实现条形码和二维码的编码与解码。 zxing目前支持的的格式如下: UPC-A,UPC-E EAN-8,EAN-13 39码 93码 代码128 QR码

    生成和解析二维码所需的zxing.dll

    ZXing库是一个开源Java类库,可用于生成和解析多种格式的1D/2D条形码,一个支持在图像中解码和生成条形码(如二维码、PDF 417、EAN、UPC、Aztec、Data Matrix、Codabar)的库。ZXing(“zebra crossing”)是一个开源的...

    Android-Zxing实现二维码的扫描与生成

    Zxing是一个开放源码,用java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。可以实现使用手机内置摄像头完成条形码的扫描以及解码。 github: https://github.com/zxing/zxing 首先在写项目的...

Global site tag (gtag.js) - Google Analytics