zoukankan      html  css  js  c++  java
  • ZXing生成二维码

    1.什么是二维码?

    ​ (百度百科):二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

    2.利用ZXING生成二维码

    ​ ·对应POM

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

    ​ ·Java代码(生成二维码)

    // 二维码的宽度
    static final int WIDTH = 300;
    // 二维码的高度
    static final int HEIGHT = 300;
    // 二维码的格式
    static final String FORMAT = "png";
    // 二维码的内容
    static final String TEXT = "Hello!二维码!!!";
    /**
     * 生成二维码
     */
     @Test
     public void generate() {
           /*
               定义二维码的参数
            */
           HashMap hashMap = new HashMap();
           // 设置二维码字符编码
           hashMap.put(EncodeHintType.CHARACTER_SET, "UTF-8");
           // 设置二维码纠错等级
           hashMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
           // 设置二维码边距
           hashMap.put(EncodeHintType.MARGIN, 2);
    
           try {
               // 开始生成二维码
               BitMatrix bitMatrix = new MultiFormatWriter().encode(TEXT, BarcodeFormat.QR_CODE, WIDTH, HEIGHT, hashMap);
               // 导出到指定目录
               MatrixToImageWriter.writeToPath(bitMatrix, FORMAT, new File("D://erweima.png").toPath());
           } catch (WriterException e) {
               e.printStackTrace();
           } catch (IOException e) {
               e.printStackTrace();
           }
       }

    生成出来的二维码!!!

    ​ ·Java代码(读取二维码)

    /**
        * 读取二维码
        */
       @Test
       public void read() throws IOException, NotFoundException {
           // 读取二维码为图片
           BufferedImage bufferedImage = ImageIO.read(new File("D://erweima.png"));
           // 获取二维码的结果
           BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(bufferedImage)));
           /*
               定义二维码的参数
            */
           HashMap hashMap = new HashMap();
           // 设置二维码字符编码
           hashMap.put(EncodeHintType.CHARACTER_SET, "UTF-8");
           // 对图像进行解码
           Result result = new MultiFormatReader().decode(binaryBitmap, hashMap);
           System.out.println("解析二维码的内容是:" + result.getText());
       }

     读取二维码里面的内容!!!

     


    对您有帮助的话,请点个推荐,转载请注明出处!谢谢各位!!!
  • 相关阅读:
    Core Animation笔记(变换)
    Core Animation笔记(- Layer 基本属性)
    使用AndroidStudio编写APICloud模块需要注意的地方,解决模块未定义。
    MAC中使用APICloud同步代码错误解决办法
    【深入理解Java虚拟机 】类加载器的命名空间以及类的卸载
    【深入理解Java虚拟机 】类的加载器
    【深入理解Java虚拟机】类的初始化过程
    Netty中ByteBuf的引用计数线程安全的实现原理
    Java使用PipedStream管道流通信
    Java中的守护线程
  • 原文地址:https://www.cnblogs.com/runningA/p/12221125.html
Copyright © 2011-2022 走看看