条形码/二维码之开源利器ZXing图文介绍(三)

2014-11-24 01:45:31 · 作者: · 浏览: 2
923450 657713 对应的是益达无糖口香糖:

运行后生成的条形码图片如下:

用手机的扫描软件,识别成功的截图如下:

3-2. 解码示例:

Java代码

package michael.zxing;

import java.awt.image.BufferedImage;

import java.io.File;

import javax.imageio.ImageIO;

import com.google.zxing.BinaryBitmap;

import com.google.zxing.LuminanceSource;

import com.google.zxing.MultiFormatReader;

import com.google.zxing.Result;

import com.google.zxing.client.j2se.BufferedImageLuminanceSource;

import com.google.zxing.common.HybridBinarizer;

/**

* @blog http://sjsky.iteye.com

* @author Michael

*/

public class ZxingEAN13DecoderHandler {

/**

* @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 = "d:/test/twocode/zxing_EAN13.png";

ZxingEAN13DecoderHandler handler = new ZxingEAN13DecoderHandler();

String decodeContent = handler.decode(imgPath);

System.out.println("解码内容如下:");

System.out.println(decodeContent);

System.out.println("Michael ,you have finished zxing EAN-13 decode.");

}

}

运行结果如下:

写道

解码内容如下:

6923450657713

Michael ,you have finished zxing decode.

从测试结果可见:解码出的内容和之前编码的内容是一致。