二维码图片生成 hutool

生成二维码 hutool 有相关的工具类可以调用 hutoolAPI

直接上代码实现:

  /**
     * 自定义参数,二维码样式
     *
     * @param
     * @return QrConfig
     * @author 小乌龟
     * @date 2022/3/3 13:33
     */
    private static QrConfig initQrConfig() {
        QrConfig config = new QrConfig(300, 300);
        // 设置边距,既二维码和背景之间的边距
        config.setMargin(3);
        // 设置前景色,既二维码颜色(黑)
        config.setForeColor(Color.black);
        // 设置背景色(白)
        config.setBackColor(Color.white);
        return config;
    }

    /**
     *生成二维码图片
     * @param content 二维码内容
     * @param filePath 图片路径 默认有 /home/yqs/upload/img/ 如填 QRCode
     * @return String
     * @author 小乌龟
     * @date 2022/3/3 13:55
     */
    public static String createQRCode(String content, String filePath) {
        try {
            File imagePath = getWebAppImagePath(fileUtil.webAppDataProperties.getMappingLocation(), filePath); //创建一个文件 路径用自己的
            String imageSuffix = ".png";
            // 使用雪压算法作为保存时的文件名
            String newImageName = IdUtil.getSnowflake(16).nextId() + imageSuffix;
            File QrImage = new File(imagePath, newImageName);
            QrCodeUtil.generate(content,initQrConfig(), QrImage);
            log.info("生成二维码成功!");
            StringBuilder imageUrl = new StringBuilder() //这里为路径拼接
                    .append("img/")
                    .append(filePath)
                    .append("/")
                    .append(newImageName);
            return imageUrl.toString();
        } catch (QrCodeException e) {
            log.error("发生错误! {}!", e.getMessage());
        }
        return null;
    }

然后就是结果展示了:

二维码图片生成 hutool_第1张图片

 

你可能感兴趣的:(java,spring,boot)