zxing 生成二维码

一、zxing介绍

  zxing是google提供生成、解析一维码、二维码的开源库。

二、使用

2.1 maven pom 配置

    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>javase</artifactId>
        <version>3.0.0</version>
    </dependency>

2.2 二维码生成

      /**
     * 编码
     * 
     * @param contents
     * @param width
     * @param height
     * @param imgPath
     */
    public static void encode(String contents, int width, int height, String imgPath) {
        try {
            BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height);

            MatrixToImageWriter.writeToFile(bitMatrix, "png", new File(imgPath));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }        

 

    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        String imgPath = "/Users/xupengwei/tool/yuanmeng/zxing.png";  
        String contents = "http://taobao.com";  
        int width = 300, height = 300;  
        QrCode.encode(contents, width, height, imgPath);  
    } 

结果 

 

2.3 二维码解码

    /**
     * @param imgPath
     * @return String
     */
    public static String decode(String imgPath) {
        BufferedImage image = null;
        Result result = null;
        try {
            image = ImageIO.read(new File(imgPath));
            LuminanceSource source = new BufferedImageLuminanceSource(image);
            BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));

            result = new MultiFormatReader().decode(bitmap);
            return result.getText();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

 

 

    public static void main(String[] args) {
        
        String imgPath = "/Users/xupengwei/tool/yuanmeng/zxing.png";  
        String decodeContent = QrCode.decode(imgPath);  
        System.out.println(decodeContent);  
    }

 

结果:

http://taobao.com

 

 

三、参考文献

1、https://github.com/zxing/zxing

2、API 文档 : https://zxing.github.io/zxing/apidocs/ 

posted @ 2016-09-30 14:40  坚守一辈子的幸福  阅读(2237)  评论(0编辑  收藏  举报