///**
// * All rights Reserved, Designed By www.freemud.cn
// *
// * @Title: QrCodeUtil
// * @Package cn.freemud.utils
// * @Description:二维码生成工具类
// * @author: song.cai
// * @date: 2018/5/16 14:40
// * @version V1.0
// * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
// * 注意：本内容仅限于上海非码科技内部传阅，禁止外泄以及用于其他的商业目
// */
//package cn.freemud.utils;
//
//
//import com.google.zxing.BarcodeFormat;
//import com.google.zxing.EncodeHintType;
//import com.google.zxing.WriterException;
//import com.google.zxing.common.BitMatrix;
//import com.google.zxing.qrcode.QRCodeWriter;
//import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
//
//import javax.imageio.ImageIO;
//import java.awt.*;
//import java.awt.image.BufferedImage;
//import java.io.ByteArrayOutputStream;
//import java.io.IOException;
//import java.util.Base64;
//import java.util.HashMap;
//
//public class QrCodeUtil {
//
//    final static String base64Prefix = "data:image/png;base64,";
//
//    /**
//     * 生成包含字符串信息的二维码图片
//     *
//     * @param content     二维码携带信息
//     * @param qrCodeSize  二维码图片大小
//     * @param imageFormat 二维码的格式
//     * @throws WriterException
//     * @throws IOException
//     */
//    public static String createQrCode(String content, int qrCodeSize, String imageFormat) throws WriterException, IOException {
//        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//        //设置二维码纠错级别Map
//        HashMap<EncodeHintType, ErrorCorrectionLevel> hintMap = new HashMap<>(1);
//        // 矫错级别
//        hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
//        QRCodeWriter qrCodeWriter = new QRCodeWriter();
//        //创建比特矩阵(位矩阵)的QR码编码的字符串
//        BitMatrix byteMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, qrCodeSize, qrCodeSize, hintMap);
//        // 使BufferedImage勾画QRCode  (matrixWidth 是行二维码像素点)
//        int matrixWidth = byteMatrix.getWidth();
//        BufferedImage image = new BufferedImage(matrixWidth - matrixWidth / 4, matrixWidth - matrixWidth / 4, BufferedImage.TYPE_INT_RGB);
//        image.createGraphics();
//        Graphics2D graphics = (Graphics2D) image.getGraphics();
//        graphics.setColor(Color.WHITE);
//        graphics.fillRect(0, 0, matrixWidth, matrixWidth);
//        // 使用比特矩阵画并保存图像
//        graphics.setColor(Color.BLACK);
//        for (int i = 0; i < matrixWidth; i++) {
//            for (int j = 0; j < matrixWidth; j++) {
//                if (byteMatrix.get(i, j)) {
//                    graphics.fillRect(i - matrixWidth / 8, j - matrixWidth / 8, 1, 1);
//                }
//            }
//        }
//        try {
//            ImageIO.write(image, imageFormat, outputStream);
//        } catch (Exception ignore) {
//
//        }
//        byte[] bytes = outputStream.toByteArray();
//        String base64Image = Base64.getEncoder().encodeToString(bytes);
//        return base64Prefix + base64Image;
//    }
//
//}