zoukankan      html  css  js  c++  java
  • 二维码

    生成和解析使用zxing,下载链接 https://pan.baidu.com/s/1zN6aXfnsAlUud11J-nxirQ

    package comsxlg.match;
    
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.EncodeHintType;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.WriterException;
    import com.google.zxing.client.j2se.MatrixToImageWriter;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    
    import java.io.*;
    import java.nio.file.Path;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 生成QRCode二维码
     */
    public class CreateQRCode
    {
    
    
        public static void writeCode()
        {
            int width = 300;
            int height = 300;
            String format = "png";
            String content = "www.baidu.com";
            // 定义二维码参数
            Map params = new HashMap();
            params.put(EncodeHintType.CHARACTER_SET,"utf-8"); // 设置字符编码
            params.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);// 设置纠错等级
            params.put(EncodeHintType.MARGIN,2);// 设置边距
    
    
            try
            {
                // 设置内容,二维码类型,长度,宽度
                BitMatrix  bitMatrix=  new MultiFormatWriter()
                        .encode(content, BarcodeFormat.QR_CODE,width,height,params);
                /*
                    方式一:直接输出文文件
                    // 获取保存路径
                    File file  = new File("D:/img.png");
                    if (!file.exists()){
                        // 注意在创建文件时,如果存放文件的文件夹不存在,直接用createNewFile,会抛异常
                        file.createNewFile();
                    }
                    Path path = file.toPath();
                    MatrixToImageWriter.writeToPath(bitMatrix,format,path);
                */
    
    
                // 输出到流
                File file  = new File("D:/img1.png");
                if (!file.exists()){
                    // 注意在创建文件时,如果存放文件的文件夹不存在,直接用createNewFile,会抛异常
                    file.createNewFile();
                }
                OutputStream out = new FileOutputStream(file);
                MatrixToImageWriter.writeToStream(bitMatrix,format,out);
                if (null != out ){
                    out.close();
                }
    
            }
            catch (WriterException e)
            {
                e.printStackTrace();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
    
        }
        public static void main(String[] args)
        {
            writeCode();
        }
    }
    package comsxlg.match;
    
    
    import com.google.zxing.*;
    import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
    import com.google.zxing.common.HybridBinarizer;
    
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    
    /***
     * 读取QR Code 二维码
     */
    public class ReadQRCode
    {
    
        public static void main(String[] args)
        {
            ReadCode();
        }
    
        private static void ReadCode()
        {
            MultiFormatReader reader = new MultiFormatReader();
            try
            {
                //File file  = new File("D:/img.png");
                File file  = new File("E:\spring_boot\springboot\src\main\resources\static\qrcode.dib");
                BufferedImage image = ImageIO.read(file);
                BinaryBitmap binaryBitmap = new BinaryBitmap(
                        new HybridBinarizer(new BufferedImageLuminanceSource(image)));
    
                Map params = new HashMap();
                params.put(EncodeHintType.CHARACTER_SET,"utf-8"); // 设置字符编码
    
                Result result = reader.decode(binaryBitmap,params);
    
                System.out.println("content is :"+result.getText());
                System.out.println("format is :"+result.getBarcodeFormat());
                System.out.println("result is :"+result.toString());
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            catch (NotFoundException e)
            {
    
            }
        }
    }

     

  • 相关阅读:
    Mysql 从入门到遗忘
    Centos7开放及查看端口
    创建及修改数据库
    02_python是一种什么语言?
    03_SQL server数据类型
    02_关系数据库
    01_初识数据库
    kali 更新源
    01_Python简介
    Alertmanager高可用
  • 原文地址:https://www.cnblogs.com/nevegiveup/p/8563722.html
Copyright © 2011-2022 走看看