Hutool生成二维码保姆级介绍
如果觉得单独的一个二维码很单调,没关系,我们可以自定义背景代码如下@OverrideQrCodeUtil.generate("https://www.baidu.com/", config, FileUtil.file("E:\\twoCode\\小宋的二维码2.jpg"));这两句话设置了生成二维码的宽高和二维码背景,我们运行一下代码看一下。apiPost请求成功,我们查看是否已经生成完毕。指定
♥️作者:小宋1021
🤵♂️个人主页:小宋1021主页
♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!
🎈🎈加油! 加油! 加油! 加油
🎈欢迎评论 💬点赞👍🏻 收藏 📂加关注+!
Hutool
Hutool 是一款小而全的 Java 工具类库,几行代码就能完成 Excel 读写、随机数、二维码、图形验证码、邮件发送、Bean↔JSON 互转等日常需求,我们日常开发几乎离不开它。除此之外,它还内置日期处理、HTTP 客户端、加解密、文件监控、缓存、正则、分布式 ID 等实用模块,下面我们来介绍一下Hutool的生成二维码功能。
功能演示
引入Hutool工具包
<!--hutool万能工具包-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.21</version>
</dependency>
<!--二维码工具包-->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.1</version>
</dependency>
然后创建一个类,就开始编写代码测试啦
生成二维码
我写在controller里了,方便使用apiPost测试,所以我就给大家展示一下controller到实现类的方法:
controller:
@PostMapping("/createQRCode")
@Operation(summary = "生成二维码测试")
public CommonResult<Boolean> createQRCode() {
bookBusService.createQRCode();
return success(true);
}
实现类:
@Override
public void createQRCode() {
// 三个参数分别是 扫码内容 宽高
QrCodeUtil.generate("http://www.baidu.com/",
500, 500,
// 生成路径 切记换成自己的
FileUtil.file("E:\\twoCode\\小宋的二维码.jpg"));
}
QrCodeUtil.generate()里面有三个参数,分别是扫码跳转的内容,我这里是跳转的百度官网,另外两个是宽高。这个是他的原生代码
FileUtil.file()是为了指定二维码文件生成路径。到这里我们就写好了,我们使用apiPost测试一下。
apiPost返回true证明请求成功了,我们看一下指定路径下是否有该文件。
已经生成指定的二维码文件,扫一下确实可以跳转到百度官网。
自定义背景图片二维码
如果觉得单独的一个二维码很单调,没关系,我们可以自定义背景
代码如下
@Override
public void createQRCode() {
QrConfig config = new QrConfig(500, 500);
config.setImg("E:\\idea.jpg");
config.setErrorCorrection(ErrorCorrectionLevel.Q);
QrCodeUtil.generate("https://www.baidu.com/", config, FileUtil.file("E:\\twoCode\\小宋的二维码2.jpg"));
}
QrConfig config = new QrConfig(500, 500);
config.setImg("E:\\idea.jpg");
这两句话设置了生成二维码的宽高和二维码背景,我们运行一下代码看一下。
apiPost请求成功,我们查看是否已经生成完毕。
指定文件夹下已生成二维码文件
识别二维码内容
上面介绍了如何生成二维码,我们如果想要识别二维码内容,需要扫码
那么下面介绍如何使用代码识别二维码里面的内容
@Override
public void createQRCode() {
String decode = QrCodeUtil.decode(FileUtil.file("E:\\twoCode\\小宋的二维码2.jpg"));
System.out.println(decode);
}
让我们请求一下试试,看看是否会在控制台输出百度的网页地址。
apiPost显示请求成功,并且在控制台上也正确输出百度的网页地址。
更多推荐
所有评论(0)