JAVA生成二维码

2023-11-12

一:引入依赖

 <!--二维码开发工具集-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.6.10</version>
        </dependency>
 
 
        <!-- zxing生成二维码 -->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.3</version>
        </dependency>
 
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.3.3</version>
        </dependency>

二:编译QRGenerate 工具类


import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import cn.hutool.http.HttpUtil;

import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class QRGenerate {

    /**
     * 生成二维码
     * 如果logo path是Null或者"" 即认为不使用logo
     *
     * @param info  二维码内容
     * @param logoPath  本地logo的路径
     * @return
     */
    public static String localLogoQRToLocal(String info, String logoPath, HttpServletResponse response) throws IOException {
        // 读取Logo文件 创建生成到本地的空文件
        File logo_image = FileUtil.file("D://123.png"); //此处应该是logoPath。这里直接填写了本地的地址
        // 定义二维码配置
        QrConfig config = new QrConfig(300, 300);
        // 设置边距,既二维码和背景之间的边距
        config.setMargin(2);
        // 设置前景色,既二维码颜色(青色)
        config.setForeColor(Color.BLACK.getRGB());
        // 设置背景色(灰色)
        config.setBackColor(Color.WHITE.getRGB());
        // 设置自己的Logo 如果Logo文件为空 会报错
        if (logoPath != "" && logoPath != null && logo_image != null) {
            try {
                config.setImg(logo_image);
            } catch (Exception e) {
                e.printStackTrace();
                return "2";// "请传入正确图片路径!";
            }
        }
        //将生成的二维码文件,写入到本地指定文件 file中
        QrCodeUtil.generate(info, config,"png", response.getOutputStream());
        return "1";// 成功
    }

}

三:QRController 调用

    /**
     * @param response  带logo的
     * @throws IOException
     */
    @GetMapping("/qrcode")
    public void giveH5Qrcode(HttpServletResponse response) throws IOException {
        //logoPath logo路径
        QRGenerate.localLogoQRToLocal("https://spark.appc02.com/xxxxx", logoPath,response);
    }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA生成二维码 的相关文章

  • HashMap不写入数据库

    我尝试在我的数据库中写入 但只写入发件人和消息 我不明白为什么会发生这种情况 我认为问题出在我使用 sendMessage 的地方 我认为问题是我没有什么可以做的读 写其他用户的主键 我在数据库中写入消息的活动 public class M
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • 使用cameltestsupport进行Camel单元测试,模板始终为空

    我正在用 Camel 做一个简单的单元测试 我想做的就是从文件 在资源下 读取 JSON 内容 将其发送到 Java 类进行验证 这是我试图测试的路线 无论我做什么 模板 我用来发送正文 json 始终为空 这是我的代码 public cl
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • Condition 接口中的 signalAll 与对象中的 notificationAll

    1 昨天我才问过这个问题条件与等待通知机制 https stackoverflow com questions 10395571 condition vs wait notify mechanism 2 我想编辑相同的内容并在我的问题中添加
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • 列表应该如何转换为具体的实现?

    假设我正在使用一个我不知道源代码的库 它有一个返回列表的方法 如下所示 public List
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • Java:拆箱整数时出现空指针异常?

    此代码导致空指针异常 我不知道为什么 private void setSiblings PhylogenyTree node Color color throws InvalidCellNumberException PhylogenyTr
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文

随机推荐

  • Spring AutowireCapableBeanFactory

    Spring AutowireCapableBeanFactory接口的使用小结 Spring的ioc容器中有一个接口叫AutowireCapableBeanFactory 我们从名字中可以看出 具有自动装配Bean的能力 而且这里笔者先透
  • 刷脸支付是万亿级支付模式新趋势

    随着5G时代的到来 互联网 AI智能 云计算 物联网等技术的成熟 一种连手机都不需要的新型支付方式诞生了 那就是刷脸支付 扫码支付较现金支付无需找零 无需携带钱包 只需要扫码就可以完成支付 对于商家和顾客来说 支付变得简单多了 如果说 扫码
  • Feign接口Get请求自动转化成POST

    原因 在入参的时候如果没有通过注解指定 此时的参数会自动封装到body中 feign检测到body里面有请求参数就会默认使用post请求 解决方法 解决方法也很简单 只需要在参数前加 SpringQueryMap即可 GetMapping
  • vue模块化

    vue模块化 模块化开发 不使用模块化带来的问题 CommonJS es6的模块化的导出和导入 export的基本使用 export default导出 统一全部导出 模块化开发 不使用模块化带来的问题 初始模块化思想 CommonJS e
  • 拖延症解药

    拖延症解药 完美主义 情绪问题 原谅过去的自己 与自己和解 不做准备工作 在不充分条件下启动 计划 死线 是第一生产力 将 死线 提前 将它分段 分解为几个阶段性 死线 一个一个完成 更易启动 降低不确定性 完成一个小目标后奖励自己 顺序
  • 电影下载资源总结

    电驴电骡 donkey4u com emul软件 BT kickass to kat ph isohunt com www torrentkitty com thepiratebay sx thepiratebay ee 论坛 cmct c
  • python绘制三维图

    一 初始化 假设已经安装了matplotlib工具包 利用matplotlib figure Figure创建一个图框 1 2 3 4 import matplotlib pyplot as plt from mpl toolkits mp
  • Elasticsearch 5.6.5 基础笔记(一) - 概念和安装

    概念 Elasticsearch 分布式 可扩展 实时的搜索与数据分析引擎 建立在全文搜索引擎库 Apache Lucene 基础之上 能胜任上百个服务节点的扩展 并支持 PB 级别的结构化或者非结构化数据 将所有的功能打包成一个单独的服务
  • 动态数组的创建与维护

    说是动态数组 其实就是在满容量时 再创建创建一个一定容量的数组 实例代码中是原数组容量的一倍 并将对数组的引用指向新的数组 而当数组容量比较小时 则创建一个一定容量的数组 示例代码中是原数组容量的1 4 并将对数组的引用指向新的数组 示例代
  • Vulkan-程序结构

    程序结构 一般来说 完整的Vulkan程序包含 创建Vulkan实例 获取物理设备列表创建逻辑设备 创建命令缓冲 获取设备中支持图形工作的队列 初始化交换链 创建深度缓冲 创建渲染通道 创建帧缓冲 创建绘制对象 初始化渲染管线 创建栅栏和初
  • Qt获取wifi列表,连接wifi后获取IP地址

    环境win7 qt5 13 MinGW32 台式机 直接上步骤了 网上看到的略显啰嗦 就是这么简单直接 1 头文件 include windows h include wlanapi h 2 pro设置连接路径 需要根据自己安装路径加载 L
  • 要成为一名成功的网络爬虫开发者,需要了解哪些知识点?

    要成为一名成功的网络爬虫开发者 您需要掌握以下一些关键知识 编程语言 Python 是最常用的编程语言之一 特别适合网络爬虫开发 您需要掌握 Python 的基础语法 数据结构和面向对象编程 HTTP 和网络基础知识 了解 HTTP 请求和
  • React之条件渲染(学习和总结)

    在实际开发中经常会遇到条件渲染 一般都是通过if else 语句 三元运算符 switch case 语句来实现 这里记录并学习一下 1 条件渲染之 IF const users id 1 firstName Robin lastName
  • 高精度加法c语言,C语言实现高精度加法

    免费资源网 https freexyz cn 本篇为高精度加法的计算 接下来我还会去写高精度乘法的计算 一 高精度运算的概念 高精度运算其实就是参与运算的数完全超出基本数据类型所能表示的范围的运算 例如int型范围就是 2147483648
  • 深度卷积神经网络(CNN)

    CNN简述 卷积神经网络 Convolutional Neural Network CNN 它是属于前馈神经网络的一种 其特点是每层的神经元节点只响应前一层局部区域范围内的神经元 全连接网络中每个神经元节点则是响应前一层的全部节点 一个深度
  • 信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(三):耗散因子Df

    在低频下 介电材料的漏电阻是恒定的 用体积电导率来描述材料的电性能 这种体积电导率与材料中离子的密度和迁移率有关 在高频下 由于偶极子的运动增加 电导率随频率增加 材料中可以旋转的偶极子越多 材料的体积电导率就越高 偶极子可以随着施加的场移
  • C++类成员函数可以访问同类不同对象的私有成员

    example 如下例 class Test public Test int v val v Test const Test t val 100 cout lt lt t val lt lt endl void show Test a co
  • Ubuntu识别USB设备

    参考 如何解决Ubuntu无法识别USB设备 作者 一只青木呀 发布时间 2020 08 28 21 02 00 网址 https blog csdn net weixin 45309916 article details 10828682
  • border-style的outset属性在导航中的应用

    代码如下
  • JAVA生成二维码

    一 引入依赖