-
大小: 103KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-06-02
- 语言: Java
- 标签: zxing java Springboot 工具类
资源简介
java 使用zxing生成二维码(带logo和文字说明)已经封装 使用起来很方便 下载下来直接调用传入参数就可以
代码片段和文件信息
package com.pindus.justiceplatformweb.common.publicFunction.utils;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.objects;
import javax.imageio.ImageIO;
/**
* @author: miaoqixin
* @create: 2019-01-16 14:14
* Maven 方式导入jar
*
* com.google.zxing
* core
* 3.3.3
*
* Gradle 方式
* compile group: ‘com.google.zxing‘ name: ‘core‘ version: ‘3.3.3‘
**/
public class ZXingCode {
//参数可设置到yml文件中
private static final int QRCOLOR = 0xFF000000; // 默认是黑色
private static final int BGWHITE = 0xFFFFFFFF; // 背景颜色
private static final int WIDTH = 400; // 二维码宽
private static final int HEIGHT = 400; // 二维码高
// 用于设置QR二维码参数
private static Mapject> hints = new HashMapject>() {
private static final long serialVersionUID = 1L;
{
put(EncodeHintType.ERROR_CORRECTION ErrorCorrectionLevel.H); // 设置QR二维码的纠错级别(H为最高级别)具体级别信息
put(EncodeHintType.CHARACTER_SET “utf-8“); // 设置编码方式
put(EncodeHintType.MARGIN 0);
}
};
/**
* @author miaoqixin
* Springboot 使用zxing生成二维码(带logo和文字说明的)
* ExportExcel.exportExcel(titlerowNamedataList“POI导出“response);
* @param logoFile logo图片文件
* @param codeFileUrl 二维码储存地址
* @param qrUrl 二维码内容
* @param note 二维码说明
* @throws ZXingCode
*/
public static void drawLogoQRCode(File logoFile File codeFileUrlString qrUrl String note) throws IOException WriterException { //图片文件 二维码储存地址 网页路径 二维码说明
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
// 参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度,设置参数
BitMatrix bm = multiFormatWriter.encode(qrUrl BarcodeFormat.QR_CODE
WIDTH HEIGHT hints);
BufferedImage image = new BufferedImage(WIDTH HEIGHT
BufferedImage.TYPE_INT_RGB);
// 开始利用二维码数据创建Bitmap图片,分别设为黑(0xFFFFFFFF)白(0xFF000000)两色
for (int x = 0; x < WIDTH; x++) {
for (int y = 0; y < HEIGHT; y++) {
image.setRGB(x y bm.get(x y) ? QRCOLOR : BGWHITE);
}
}
int width = image.getWidth();
int height = image.getHeight();
if (objects.nonNull(logoFile) && logoFile.exists()) {
// 构建绘图对象
Graphics2D g = image.createGraphics();
// 读取Logo图片
Buf
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7306 2019-01-16 17:16 ZXingCode.java
文件 120717 2019-01-16 17:22 接口调用.png
相关资源
- JavaSwing图片查看器源码
- 毕业设计(论文)-基于JAVA的图书馆管
- Java 记事本
- Java复合型计算器
- 生日蛋糕订购系统java编写结合装饰者
- 简易聊天程序java
- java大牛手把手开发SSM企业级电商项目
- Java深入微服务原理改造房产销售平台
- [java]MyBatisPlus视频教程
- Java简易学生成绩管理系统
- java实现的教学管理系统——适合jav
- JAVA与C#的区别
- words-1.0-javadoc.jar
- Java实现音乐播放器源码
- 简单的java联系人系统
- C++与java的综述与比较
- SpringBoot搭建所需的任何软件与jar包完
- 学生信息管理系统.
- java开发实现163邮件发送(支持附件
- 基于Java开发的2048游戏源码
- java mysql 开发的大学生选课教务系统,
- Java游戏2048
- 基于javaWeb在线拍卖系统
- java课程设计--图书销售管理系统
- 基于JAVA的kmeans算法
- java简单网络爬虫
- java开发三年项目经验心得
- java网络通信系统的研究与开发代码
- 北邮java作业群体对象.rar
- java作业图形化.rar
评论
共有 条评论