Hutool-二维码生成

摘要:
importcn.hutol.extra.qrcode.QrCodeUtil;importcn.hutol.extra.qrcode.QrConfig;importcom.google.zxing.qrcode.decoder.ErrorCorrection级别;

Hutool工具类生成二维码

示例代码:

import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.awt.*;

public class HutoolQrCode {
    public static void main(String[] args) {

        // 1、生成二维码
        // D:qrcode.jpg 生成二维码的地址
        QrCodeUtil.generate("https://hutool.cn/", 300, 300, FileUtil.file("D:\qrcode.jpg"));

        // 2、自定义二维码参数
        QrConfig config = new QrConfig(300, 300);
        // 设置边距,既二维码和背景之间的边距
        config.setMargin(3);
        // 设置前景色,既二维码颜色(青色)
        config.setForeColor(Color.CYAN.getRGB());
        // 设置背景色(灰色)
        config.setBackColor(Color.GRAY.getRGB());

        // 3、二维码附带LOGO图标
        // 生成二维码到文件,也可以到流
        QrCodeUtil.generate("http://hutool.cn/", config, FileUtil.file("D:\qrcode2.jpg"));

        QrCodeUtil.generate(
                "http://hutool.cn/", //二维码内容
                QrConfig.create().setImg("D:\logo_small.jpg"), //附带logo
                FileUtil.file("D:\qrcodeWithLogo.jpg")  //写出到的文件
        );

        //4、高纠错级别
        QrConfig config1 = new QrConfig();
        config.setErrorCorrection(ErrorCorrectionLevel.H);
        QrCodeUtil.generate("https://hutool.cn/", config1, FileUtil.file("D:\qrcodeCustom.jpg"));

        //5、识别二维码
        String decode = QrCodeUtil.decode(FileUtil.file("D:\qrcode.jpg"));  // decode -> "http://hutool.cn/"
    }
}

免责声明:文章转载自《Hutool-二维码生成》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇shell替换Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux中patch命令 -p 选项

 patch命令和diff命令是linux打补丁的成对命令,diff 负责生产xxxxx.patch文件,patch命令负责将补丁打到要修改的源码上。但是patch命令的参数-p很容易使人迷惑,因为对-p 后面的数字理解不清晰,造成patch打不上,项目时间拖延,很是郁闷。后来仔细实践了一下,弄清楚了-p实际的含义。        举例说明更加容易看懂。比...

基于Socket的文件传输(使用CSocket类)

本软件使用MFC采用面向对象的方法实现了基于Socket的文件传输。这是原来研究生课程的结课作业,实现了Socket的发送和接收,以及读取ini配置文件等操作。使用了CSocket类 以下是当时结课作业 的正文:   一.软件特点如下:   1.      采用了多线程的方法,文件传输时使用AfxBeginThread()开启新线程   void CC...

MacOs终端忽略大小写

使用MacOs的终端时,唯一让人感觉不爽的就是Tab补全是区分大小的,所以查了资料就把这个问题搞定了。在用户目录下创建 .inputrc 文件,内容为以下三行代码,保存后重启终端再次输入文件名Tab补全就可以忽略大小写。 set completion-ignore-case on set show-all-if-ambiguous on TAB:menu-...

Win10安装TensorFlow1.9-GPU版本

前言 前段时间更新自己电脑上的tf1.4到1.9,没想到踩了这么多坑。。。特意记录下来希望可以帮到大家 删除旧版本 如果你电脑上没有安装旧版本的tf,就可以忽略这一步。我是因为想要升级到最新版本,所以需要先卸载旧版本。旧版本是用anaconda安装的,卸载很简单,首先进入安装tf的环境,我的环境是“tensorflow”: activate tensorf...

lucene教程简介

1 lucene简介 1.1 什么是lucene     Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。 2 lucene的工作方式     lucene提供的服务实际包含两部分:一入一出。所谓入是写入,即将你提供的源(本质...

npm包发布

1.创建一个包module(自定义名称)目录。2.进入此目录,执行npm init,这样就在 module 目录中生成一个符合 npm 规范的 package.json 文件。3.创建一个index.js 作为包的接口,一个简单的包就制作完成了。4.使用 npm adduser 根据提示输入用户名、密码、邮箱,创建一个账号用于维护自己的包,等待创建完成,可...