条形码/二维码
来源:互联网 发布:阿里云agent插件离线 编辑:程序博客网 时间:2024/04/29 11:50
1-1. ZXing是一个开源Java类库用于解析多种格式的条形码和二维码.
官网:http://code.google.com/p/zxing/
提供以下编码格式的支持:
- UPC-A and UPC-E
- EAN-8 and EAN-13
- Code 39
- Code 93
- Code 128
- QR Code
- ITF
- Codabar
- RSS-14 (all variants)
- Data Matrix
- PDF 417 ('alpha' quality)
- Aztec ('alpha' quality)
同时官网提供了 Android、cpp、C#、iPhone、j2me、j2se、jruby、objc、rim、symbian等多种应用的类库,具体详情可以参考下载的源码包中。
可以将文档中core、javase文件夹中的源码打包成jar供如下使用:
package org.hz.recode;import java.awt.image.BufferedImage;import java.io.File;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.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;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;public class ZxingHandler {/** * 编码 * @param contents * @param width * @param height * @param imgPath */ public void encode(String contents, int width, int height, String imgPath) { Hashtable<Object, Object> hints = new Hashtable<Object, Object>(); // 指定纠错等级 hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); // 指定编码格式 hints.put(EncodeHintType.CHARACTER_SET, "GBK"); try { BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height, hints); MatrixToImageWriter .writeToFile(bitMatrix, "png", new File(imgPath)); } catch (Exception e) { e.printStackTrace(); } } /** * @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)); Hashtable<Object, Object> hints = new Hashtable<Object, Object>(); hints.put(DecodeHintType.CHARACTER_SET, "GBK"); result = new MultiFormatReader().decode(bitmap, hints); return result.getText(); } catch (Exception e) { e.printStackTrace(); } return null; } /** * @param args */ public static void main(String[] args) { String imgPath = "d:/michael_zxing.png";String contents = "Hi! welcome to Zxing!"; int width = 300, height = 300;ZxingHandler encodeHandler = new ZxingHandler();encodeHandler.encode(contents, width, height, imgPath); ZxingHandler decodeDandler = new ZxingHandler(); String decodeContent = decodeDandler.decode(imgPath); System.out.println("解码内容如下:"); System.out.println(decodeContent); } }
- 条形码/二维码
- 二维码 条形码
- java二维码,条形码,【ZXing】
- 条形码,二维码扫描
- android二维码条形码生成
- Android 二维码,条形码
- 条形码,二维码扫描
- iOS 二维码,条形码扫描
- 条形码+二维码,开源ZXing
- android 二维码 条形码扫描
- IOS扫描二维码条形码
- 条形码,二维码扫描
- 条形码、二维码扫描
- 制作 二维码/条形码
- android条形码二维码
- ios 二维码、条形码扫描
- 二维码、条形码生成
- ZXing实现条形码、二维码
- Struts2文件下载
- Android开发颜色大全
- svn http://提示svn: Unrecognized URL scheme错误
- ibatis实现对User实体的增删改查操作-第二节
- OEL5.9下安装oracle10.2.0.1 x86_64
- 条形码/二维码
- 很实用的web缓存知识
- spring cxf 开发webservice
- 使用crontab实现自动运行
- Epoll在LT和ET模式下的读写方式
- iOS中使用blend改变图片颜色
- chmod----改变一个或多个文件的存取模式(mode)
- listView中item间隔的问题解决
- PHP 闹钟