mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-04 04:37:59 +08:00
新增 QRCode base64 编码形式返回
This commit is contained in:
parent
0d4da3bec4
commit
addf09488d
@ -42,31 +42,33 @@ public class QrCodeUtil {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
|
* 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
|
||||||
|
*
|
||||||
* @param content 内容
|
* @param content 内容
|
||||||
* @param qrConfig 二维码配置,包括长、宽、边距、颜色等
|
* @param qrConfig 二维码配置,包括长、宽、边距、颜色等
|
||||||
* @param imageType 图片类型(图片扩展名),见{@link ImgUtil}
|
* @param imageType 图片类型(图片扩展名),见{@link ImgUtil}
|
||||||
* @param logoBase64 logo 图片的 base64 编码
|
* @param logoBase64 logo 图片的 base64 编码
|
||||||
* @return 图片 Base64 编码字符串
|
* @return 图片 Base64 编码字符串
|
||||||
*/
|
*/
|
||||||
public static String generateAsBase64(String content, QrConfig qrConfig,String imageType,String logoBase64){
|
public static String generateAsBase64(String content, QrConfig qrConfig, String imageType, String logoBase64) {
|
||||||
byte[] decode;
|
byte[] decode;
|
||||||
try {
|
try {
|
||||||
decode = Base64.getDecoder().decode(logoBase64);
|
decode = Base64.getDecoder().decode(logoBase64);
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
throw new QrCodeException(e);
|
throw new QrCodeException(e);
|
||||||
}
|
}
|
||||||
return generateAsBase64(content,qrConfig,imageType,decode);
|
return generateAsBase64(content, qrConfig, imageType, decode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
|
* 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
|
||||||
|
*
|
||||||
* @param content 内容
|
* @param content 内容
|
||||||
* @param qrConfig 二维码配置,包括长、宽、边距、颜色等
|
* @param qrConfig 二维码配置,包括长、宽、边距、颜色等
|
||||||
* @param imageType 图片类型(图片扩展名),见{@link ImgUtil}
|
* @param imageType 图片类型(图片扩展名),见{@link ImgUtil}
|
||||||
* @param logo logo 图片的byte[]
|
* @param logo logo 图片的byte[]
|
||||||
* @return 图片 Base64 编码字符串
|
* @return 图片 Base64 编码字符串
|
||||||
*/
|
*/
|
||||||
public static String generateAsBase64(String content, QrConfig qrConfig,String imageType,byte [] logo){
|
public static String generateAsBase64(String content, QrConfig qrConfig, String imageType, byte[] logo) {
|
||||||
BufferedImage img;
|
BufferedImage img;
|
||||||
try {
|
try {
|
||||||
img = ImageIO.read(new ByteArrayInputStream(logo));
|
img = ImageIO.read(new ByteArrayInputStream(logo));
|
||||||
@ -74,21 +76,22 @@ public class QrCodeUtil {
|
|||||||
throw new QrCodeException(e);
|
throw new QrCodeException(e);
|
||||||
}
|
}
|
||||||
qrConfig.setImg(img);
|
qrConfig.setImg(img);
|
||||||
return generateAsBase64(content,qrConfig, imageType);
|
return generateAsBase64(content, qrConfig, imageType);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成 Base64 编码格式的二维码,以 String 形式表示
|
* 生成 Base64 编码格式的二维码,以 String 形式表示
|
||||||
|
*
|
||||||
* @param content 内容
|
* @param content 内容
|
||||||
* @param qrConfig 二维码配置,包括长、宽、边距、颜色等
|
* @param qrConfig 二维码配置,包括长、宽、边距、颜色等
|
||||||
* @param imageType 图片类型(图片扩展名),见{@link ImgUtil}
|
* @param imageType 图片类型(图片扩展名),见{@link ImgUtil}
|
||||||
* @return 图片 Base64 编码字符串
|
* @return 图片 Base64 编码字符串
|
||||||
*/
|
*/
|
||||||
public static String generateAsBase64(String content,QrConfig qrConfig,String imageType){
|
public static String generateAsBase64(String content, QrConfig qrConfig, String imageType) {
|
||||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||||
generate(content,qrConfig,imageType,bos);
|
generate(content, qrConfig, imageType, bos);
|
||||||
byte[] encode = Base64.getEncoder().encode(bos.toByteArray());
|
byte[] encode = Base64.getEncoder().encode(bos.toByteArray());
|
||||||
return MessageFormat.format("data:image/{0};base64,{1}",imageType,new String(encode));
|
return MessageFormat.format("data:image/{0};base64,{1}", imageType, new String(encode));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 生成PNG格式的二维码图片,以byte[]形式表示
|
* 生成PNG格式的二维码图片,以byte[]形式表示
|
||||||
|
Loading…
Reference in New Issue
Block a user