-
大小: 103KB文件类型: .zip金币: 2下载: 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
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论