在http://code.google.com/p/zxing/downloads/list下载zxing压缩包Zxing-1.5,
使用core与javase包
代码如下:
解析中文时注意修改 编码方式
package cn.wuhongbox.javaQR; 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.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.common.ByteMatrix; import com.google.zxing.common.HybridBinarizer; public class RQUtil { private static final int BLACK = 0xff000000; private static final int WHITE = 0xFFFFFFFF; /** * 生成二维码 * * @author wuhongbo * @param str * 内容 * @param height * 高度(px) * */ public static BufferedImage getRQ(String str, Integer height) { if (height == null || height < 100) { height = 200; } try { ByteMatrix byteMatrix = new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, height, height); return toBufferedImage(byteMatrix); // 输出方式 // 网页 // ImageIO.write(image, "png", response.getOutputStream()); // 文件 // ImageIO.write(image, "png", file); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 写到文件中 * * @author wuhongbo * @param str * @param height * @param file * @throws IOException */ public static void getRQwriteFile(String str, Integer height, File file) throws IOException { BufferedImage image = getRQ(str, height); ImageIO.write(image, "png", file); } /** * 转换成图片 * * @author wuhongbo * @param matrix * @return */ private static BufferedImage toBufferedImage(ByteMatrix matrix) { int width = matrix.getWidth(); int height = matrix.getHeight(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, matrix.get(x, y) == 0 ? BLACK : WHITE); } } return image; } /** * 解码 各类型条码 */ public static String decodeRQ(File file) { BufferedImage image; try { if (file == null || file.exists() == false) { throw new Exception(" File not found:" + file.getPath()); } image = ImageIO.read(file); LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Result result; // 解码设置编码方式为:utf-8, Hashtable hints = new Hashtable(); hints.put(DecodeHintType.CHARACTER_SET, "utf-8"); result = new MultiFormatReader().decode(bitmap, hints); return result.getText(); } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] args) throws Exception { File file = new File("c://1.png"); RQUtil.getRQwriteFile("吴宏波中华人民共和国", 200, file); System.out.println("-----成生成功----"); System.out.println(); String s = RQUtil.decodeRQ(file); System.out.println("-----解析成功----"); System.out.println(s); } }
相关推荐
ZXing库支持多种条码和二维码格式,如QR Code、Data Matrix、Aztec、PDF417等,可以进行快速准确的解码。"zxingdelphi7"可能表示这是ZXing库的一个特定版本,专门为Delphi 7设计,Delphi 7是该IDE的一个早期版本,但...
【标题】"2 QR_Code_labviewqr二维码_二维码识别_二维码_" 涉及到的主要技术是使用LabVIEW(Laboratory Virtual Instrument Engineering Workbench)进行二维码的读取和解析,这是NI公司推出的一种图形化编程语言,...
本文主要探讨如何成功将ZXing二维码扫描库移植到DSP上,并在TI的CCS6集成开发环境中运行。 首先,我们需要理解DSP(Digital Signal Processor)的优势。DSP是一种专门用于处理数字信号的微处理器,其内部结构和指令...
一个使用Google开源项目Zxing进行QR码解析的例程,不使用ViewFinderView作为扫描画面,扫面画面为纯xml编写,我写了注释,编码方式为GBK,不过Zxing有个缺点必须离二维码远一些程序才能识别二维码
1. **二维码/条形码识别**:ZXing库能够识别多种类型的条形码,包括EAN-13、UPC-A、Code 128、QR Code等,以及一维和二维条形码。 2. **自定义扫描界面**:开发者可以自定义扫描界面,调整扫描框大小、颜色,以及...
二维码,全称为“Quick Response Code”,是一种二维条码,能够存储大量的信息,如文本、网址、联系信息等,并且可以通过手机摄像头快速扫描读取。在信息化时代,二维码被广泛应用在各种场景,如商品追溯、广告推广...
在IT行业中,二维码(Quick Response Code,简称QR码)是一种二维条形码,它能够存储比传统一维条形码更多的信息,包括网址、文本、联系人信息等。ZXing,全称“Zebra Crossing”,是一款开源的、跨平台的二维码和...
在IT行业中,二维码(QR Code)作为一种数据编码方式,已经成为数据交换、信息传递的重要工具。在C#编程语言中,实现二维码的生成和识别是一项常见的需求。本资源“CSharp-QR-Code.rar”提供了C#编写的二维码识别源...
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); integrator.setPrompt("扫描二维码"); integrator.setCameraId(0); // 使用后置摄像头 integrator.initiateScan(); ``` 5. **处理扫描结果*...
1. **二维码(Quick Response Code)**:二维码是一种二维条形码,能够存储大量的数据,如文本、网址、联系信息等。其编码规则严谨,纠错能力强,广泛应用于各种场景,如门禁系统、产品追溯、移动支付等。 2. **OV...
在这个"QR.zip_LABVIEW 二维码_labview qr code_labview qrcode_labview二维码_qr"项目中,重点是利用LabVIEW来实现二维码的生成。 二维码(Quick Response Code,简称QR码)是一种二维条形码,能够存储更多的信息...
ZXing,全称为“Zebra Crossing”,是一款开源的、跨平台的条码处理库,它支持多种条码格式,包括二维码(QR Code)的生成与解码。在Java开发中,ZXing通常以一个名为`zxing.jar`的库文件形式提供,便于开发者集成到...
Zxing支持多种编码格式,包括但不限于QR码、Data Matrix、Aztec、UPC-A、EAN-13、Code 39、Code 128等。这些编码格式广泛应用于数据交换、链接跳转、产品追踪等领域。Zxing通过摄像头捕获图像,然后利用图像处理技术...
二维码(Quick Response Code,简称QR Code)是一种矩阵式二维条码,由日本Denso Wave公司于1994年发明。它能存储大量的文字、数字、网址、图片等信息,通过扫描设备可以快速读取和解码。 2. **C++二维码生成** ...
二维码(Quick Response Code)是一种二维条码,能存储大量数据,如网址、文本、联系信息等,且读取速度快,应用广泛。 生成二维码在LabVIEW中通常涉及到调用外部库函数或模块,因为LabVIEW自身并不内置二维码生成...
二维码(QR Code)是一种二维条形码,能够存储大量的信息,如文字、网址、联系信息等,便于快速读取和分享。ZXing库提供了从图像中识别和解码二维码的功能,这在移动应用开发中非常常见,比如制作扫描功能的APP。 ...
本项目"QR.rar_DEMO_二维码识别_扫描二维码java_条码demo_条码识别"是一个基于Java实现的二维码和条码处理示例,旨在帮助开发者理解和实践相关功能。 首先,我们来探讨二维码识别。二维码,全称Quick Response Code...
ZXing提供了多种条码和二维码的编码与解码能力,包括但不限于QR码、Code 128、EAN-13等常见格式。它通过相机捕获图像并进行解析,从而获取隐藏在条码或二维码中的数据。在Android平台上,ZXing通常通过集成`...
public class QRCodeReader { public static void main(String[] args) { File inputFile = new File("input.png"); try { BufferedImage image = ImageIO.read(inputFile); LuminanceSource source = new ...