JAVA生成带logo的二维码,并转为base64,一看就会,复制就对
1、备菜(准备工作)
导入好用的工具包,
<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.1.0</version>
</dependency>
2、炒菜(代码)
这里生成二维码没有市面上优质的工具类,很多开源的工具类其实已经做的很好了,不过这里的代码也是更接地气,更方便理解:
- 主方法 ,配置二维码参数等操作/**
/**
* 生成二维码,返回base64
* @param param
* @return
*/
public static String getBase64Code(String param){
String result = null;
String logoPath = "static/image/二维码logo.png";
String format = "jpg";
int width = 280;
int height = 280;
//生成二维码矩阵信息
BitMatrix bitMatrix = setBitMatrix(param, width, height);
// 可通过输出流输出到页面,也可直接保存到文件
ByteArrayOutputStream outputStream;
try {
outputStream = new ByteArrayOutputStream();
//转为base64,前端将base64转为图片
result = generateCodeToBase64(bitMatrix, format, outputStream,logoPath);
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
- 转base64方法 ,将图片流转为base,可自定义是否添加文字**
/**
* 将二维码图片输出
* @param matrix 二维码矩阵信息
* @param format 图片格式
* @param outputStream 输出流
*/
public static String generateCodeToBase64(BitMatrix matrix, String format, ByteArrayOutputStream outputStream, String logoPath) th