Browse Source

新增 QRCode base64 编码形式返回

helixcs 5 years ago
parent
commit
addf09488d
1 changed files with 22 additions and 19 deletions
  1. 22 19
      hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java

+ 22 - 19
hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java

@@ -42,31 +42,33 @@ public class QrCodeUtil {
 
 
 	/**
 	/**
 	 * 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
 	 * 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
-	 * @param content	内容
-	 * @param qrConfig	二维码配置,包括长、宽、边距、颜色等
-	 * @param imageType	图片类型(图片扩展名),见{@link ImgUtil}
+	 *
+	 * @param content    内容
+	 * @param qrConfig   二维码配置,包括长、宽、边距、颜色等
+	 * @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 qrConfig	二维码配置,包括长、宽、边距、颜色等
-	 * @param imageType	图片类型(图片扩展名),见{@link ImgUtil}
-	 * @param logo		logo 图片的byte[]
-	 * @return			图片 Base64 编码字符串
+	 *
+	 * @param content   内容
+	 * @param qrConfig  二维码配置,包括长、宽、边距、颜色等
+	 * @param imageType 图片类型(图片扩展名),见{@link ImgUtil}
+	 * @param logo      logo 图片的byte[]
+	 * @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 qrConfig	二维码配置,包括长、宽、边距、颜色等
+	 *
+	 * @param content   内容
+	 * @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[]形式表示