需要的jar包下載地址 http://download.csdn.net/detail/sinat_22750705/9748085package BasicsTest;import com.swetake.util.Qrcode;import jp.sourceforge.qrcode.QRCodeDecoder;import jp.sourceforge.qrcode.data.QRCodeImage;import jp.sourceforge.qrcode.exception.DecodingFailedException;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;/** * 二維碼生成 * Created by xs on 2017/2/6. */public class QRCode { /** * @param args the command line arguments */ public static void main(String[] args) { QRCode handlers = new QRCode(); String imgPaths = "qrCodeTest.png"; String decoderContent = handler.decoderQRCode(imgPaths); System.out.PRintln("解析結果如下:"); System.out.println(decoderContent); System.out.println("========decoder success!!!"); } /** * 解碼二維碼 * @param imgPath * @return String */ public String decoderQRCode(String imgPath) { // QRCode 二維碼圖片的文件 File imageFile=new File(imgPath); //BufferedImage 提供創建和修改圖像的各種類 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; } //二維碼圖片 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); } }}結果如下:
新聞熱點
疑難解答