zxing 生成二维码

    xiaoxiao2021-04-16  23

    一、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/ 

    转载请注明原文地址: https://ju.6miu.com/read-672136.html

    最新回复(0)