二维码的生成和解码Java实现,解码java,涉及到的一些主要类库,方
分享于 点击 6352 次 点评:45
二维码的生成和解码Java实现,解码java,涉及到的一些主要类库,方
涉及到的一些主要类库,方便大家下载: 二维码编码lib:Qrcode_swetake.jar(官网介绍 -- http://www.swetake.com/qr/index-e.html)二维码解码lib:qrcode.jar (官网介绍 -- http://sourceforge.jp/projects/qrcode/) java二维码 生成二维码 QRCodeEncoderHandler.java ```javaNone
java二维码解码 QRCodeDecoderHandler.java ```javaimport java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import jp.sourceforge.qrcode.QRCodeDecoder;import jp.sourceforge.qrcode.data.QRCodeImage;import jp.sourceforge.qrcode.exception.DecodingFailedException;/** * @blog http://zhblog.github.com/blog * @author zzh */public class QRCodeDecoderHandler { /** * 解码二维码 * @param imgPath * @return String */ public String decoderQRCode(String imgPath) { // QRCode 二维码图片的文件 File imageFile = new File(imgPath); BufferedImage bufImg = null; String decodedData = null; try { bufImg = ImageIO.read(imageFile); QRCodeDecoder decoder = new QRCodeDecoder(); decodedData = new String(decoder.decode(new J2SEImage(bufImg))); } catch (IOException e) { System.out.println("Error: " + e.getMessage()); e.printStackTrace(); } catch (DecodingFailedException dfe) { System.out.println("Error: " + dfe.getMessage()); dfe.printStackTrace(); } return decodedData; } /** * @param args the command line arguments */ public static void main(String[] args) { QRCodeDecoderHandler handler = new QRCodeDecoderHandler(); String imgPath = "zzh.png"; String decoderContent = handler.decoderQRCode(imgPath); System.out.println("解析结果如下:"); System.out.println(decoderContent); System.out.println("========decoder success!!!"); } class J2SEImage implements QRCodeImage { BufferedImage bufImg; public J2SEImage(BufferedImage bufImg) { this.bufImg = bufImg; } public int getWidth() { return bufImg.getWidth(); } public int getHeight() { return bufImg.getHeight(); } public int getPixel(int x, int y) { return bufImg.getRGB(x, y); } }}
用户点评