【Java】二维码生成工具

一、引入相关依赖

<!-- 引入Hutool工具库,简化Java开发,提高开发效率 -->
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.5</version>
</dependency>

<!-- 引入Google ZXing库,用于二维码和条形码的生成与解析 -->
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.3.3</version>
</dependency>

二、关于Hutool

介绍

Hutool 是一个小而全的 Java 工具包,通过提供丰富的工具类库来简化 Java 开发。Hutool 包含了许多常用的功能,比如字符串处理、文件操作、日期时间处理、HTTP 请求、加密解密等,可以极大地提高开发效率。

官网

Hutool🍬一个功能丰富且易用的Java工具库,涵盖了字符串、数字、集合、编码、日期、文件、IO、加密、数据库JDBC、JSON、HTTP客户端等功能。icon-default.png?t=N7T8https://hutool.cn/

三、代码

○ 基础代码

public class BasicConfiguration {
    public static void main(String[] args) {
        // 调用 generate 方法生成二维码
        // 参数1:二维码的内容,这里是一个URL
        // 参数2:二维码的宽度
        // 参数3:二维码的高度
        // 参数4:二维码的保存路径及文件名
        QrCodeUtil.generate("https://www.csdn.net/", 1000,1000,new File("D:\\generateqr_code\\img\\qrcode.png"));
    }
}

○ 自定义生成

基本参数

public class CustomParameters {
    public static void main(String[] args) {
        // 创建二维码配置对象,指定二维码的宽度和高度为1000像素
        QrConfig config = new QrConfig(1000,1000);
        // 设置二维码的边距为3像素
        config.setMargin(3);
        // 设置二维码的前景色为蓝色
        config.setForeColor(Color.BLUE.getRGB());
        // 设置二维码的背景色为白色
        config.setBackColor(Color.WHITE.getRGB());

        // 生成二维码,参数分别为二维码的内容、配置对象以及二维码图片的保存路径
        QrCodeUtil.generate("https://www.csdn.net/", config, new File("D:\\generateqr_code\\img\\CustomParameters.png"));
    }
}

带图标

public class Icon {
    public static void main(String[] args) {
        // 创建二维码配置对象,指定二维码的宽度和高度为1000像素
        QrConfig config = new QrConfig(1000, 1000);
        // 设置二维码的边距为3像素
        config.setMargin(3);
        // 设置二维码的前景色为深蓝色
        config.setForeColor(new Color(30, 144, 255).getRGB()); // 深蓝色 (#1E90FF)
        // 设置二维码的背景色为白色
        config.setBackColor(Color.WHITE.getRGB());
        // 设置二维码中间的附带图标
        config.setImg("D:\\generateqr_code\\default.jpg");

        // 生成二维码到文件
        QrCodeUtil.generate(
                "https://www.csdn.net/", //二维码内容
                config, //二维码配置对象
                FileUtil.file("D:\\generateqr_code\\img\\Icon.png")//写出到的文件
        );
    }
}

○ 识别二维码

public class Identify {
    public static void main(String[] args) {
        // 从指定路径加载二维码图片,并解码
        String decode = QrCodeUtil.decode(FileUtil.file("D:\\generateqr_code\\img\\Icon.png"));
        // 输出解码结果
        System.out.println(decode);
    }
}

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值