当二维码类型Ascii Art字符画时,单位是字符▄或▀的大小
+ */
protected int height;
/** 前景色(二维码颜色) */
protected Integer foreColor = BLACK;
From 7c3ea87b0b471d5cb0fea3cda1b0d794546d8ea2 Mon Sep 17 00:00:00 2001
From: TomXin <766781886@qq.com>
Date: Sat, 27 Aug 2022 22:04:03 +0800
Subject: [PATCH 05/15] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=81=E8=A1=A5?=
=?UTF-8?q?=E5=85=85QrCodeUtil=E7=9A=84=E7=9A=84=E6=B3=A8=E9=87=8A?=
=?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E7=94=9F=E6=88=90SVG=E7=9A=84?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cn/hutool/extra/qrcode/QrCodeUtil.java | 56 +++++++++----------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
index 4941f3618..59425e8a5 100755
--- a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
+++ b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
@@ -150,7 +150,7 @@ public class QrCodeUtil {
* 生成ASCII Art字符画形式的二维码
*
* @param content 内容
- * @param qrConfig 二维码配置,仅长、宽、边距配置有效
+ * @param qrConfig 二维码配置,仅宽度、高度、边距配置有效
* @return ASCII Art字符画形式的二维码
* @since 5.8.6
*/
@@ -161,8 +161,8 @@ public class QrCodeUtil {
/**
* @param content 内容
- * @param width 宽
- * @param height 长
+ * @param width 宽度(单位:字符▄的大小)
+ * @param height 高度(单位:字符▄的大小)
* @return ASCII Art字符画形式的二维码
* @since 5.8.6
*/
@@ -176,8 +176,8 @@ public class QrCodeUtil {
* 生成PNG格式的二维码图片,以byte[]形式表示
*
* @param content 内容
- * @param width 宽度
- * @param height 高度
+ * @param width 宽度(单位:像素)
+ * @param height 高度(单位:像素)
* @return 图片的byte[]
* @since 4.0.10
*/
@@ -205,8 +205,8 @@ public class QrCodeUtil {
* 生成二维码到文件,二维码图片格式取决于文件的扩展名
*
* @param content 文本内容
- * @param width 宽度
- * @param height 高度
+ * @param width 宽度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
+ * @param height 高度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
* @param targetFile 目标文件,扩展名决定输出格式
* @return 目标文件
*/
@@ -262,8 +262,8 @@ public class QrCodeUtil {
* 生成二维码到输出流
*
* @param content 文本内容
- * @param width 宽度
- * @param height 高度
+ * @param width 宽度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
+ * @param height 高度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
* @param targetType 类型(图片扩展名),见{@link #QR_TYPE_SVG}、 {@link #QR_TYPE_TXT}、{@link ImgUtil}
* @param out 目标流
*/
@@ -314,8 +314,8 @@ public class QrCodeUtil {
* 生成二维码图片
*
* @param content 文本内容
- * @param width 宽度
- * @param height 高度
+ * @param width 宽度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
+ * @param height 高度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
* @return 二维码图片(黑白)
*/
public static BufferedImage generate(String content, int width, int height) {
@@ -327,8 +327,8 @@ public class QrCodeUtil {
*
* @param content 文本内容
* @param format 格式,可选二维码或者条形码
- * @param width 宽度
- * @param height 高度
+ * @param width 宽度(单位:像素)
+ * @param height 高度(单位:像素)
* @return 二维码图片(黑白)
*/
public static BufferedImage generate(String content, BarcodeFormat format, int width, int height) {
@@ -339,7 +339,7 @@ public class QrCodeUtil {
* 生成二维码图片
*
* @param content 文本内容
- * @param config 二维码配置,包括长、宽、边距、颜色等
+ * @param config 二维码配置,包括宽度、高度、边距、颜色等
* @return 二维码图片(黑白)
* @since 4.1.2
*/
@@ -353,7 +353,7 @@ public class QrCodeUtil {
*
* @param content 文本内容
* @param format 格式,可选二维码、条形码等
- * @param config 二维码配置,包括长、宽、边距、颜色等
+ * @param config 二维码配置,包括宽度、高度、边距、颜色等
* @return 二维码图片(黑白)
* @since 4.1.14
*/
@@ -391,8 +391,8 @@ public class QrCodeUtil {
* 将文本内容编码为二维码
*
* @param content 文本内容
- * @param width 宽度
- * @param height 高度
+ * @param width 宽度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
+ * @param height 高度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
* @return {@link BitMatrix}
*/
public static BitMatrix encode(String content, int width, int height) {
@@ -416,8 +416,8 @@ public class QrCodeUtil {
*
* @param content 文本内容
* @param format 格式枚举
- * @param width 宽度
- * @param height 高度
+ * @param width 宽度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
+ * @param height 高度(单位:类型为一般图片或SVG时,单位是像素,类型为 Ascii Art 字符画时,单位是字符▄或▀的大小)
* @return {@link BitMatrix}
*/
public static BitMatrix encode(String content, BarcodeFormat format, int width, int height) {
@@ -429,7 +429,7 @@ public class QrCodeUtil {
*
* @param content 文本内容
* @param format 格式枚举
- * @param config 二维码配置,包括长、宽、边距、颜色等
+ * @param config 二维码配置,包括宽度、高度、边距、颜色等
* @return {@link BitMatrix}
* @since 4.1.2
*/
@@ -550,7 +550,7 @@ public class QrCodeUtil {
* BitMatrix转SVG(字符串)
*
* @param matrix BitMatrix
- * @param qrConfig 二维码配置,包括长、宽、边距、颜色等
+ * @param qrConfig 二维码配置,包括宽度、高度、边距、颜色等
* @return SVG矢量图(字符串)
* @since 5.8.6
*/
@@ -576,7 +576,7 @@ public class QrCodeUtil {
for (int y = 0; y < qrHeight; y++) {
for (int x = 0; x < qrWidth; x++) {
if (matrix.get(x, y)) {
- sb.append(" M" + x + "," + y + "h1v" + moduleHeight + "h-1z");
+ sb.append(" M").append(x).append(",").append(y).append("h1v").append(moduleHeight).append("h-1z");
}
}
}
@@ -604,17 +604,17 @@ public class QrCodeUtil {
Color fore = new Color(foreColor, true);
StringBuilder result = StrUtil.builder();
- result.append("
");
return result.toString();
@@ -623,7 +623,7 @@ public class QrCodeUtil {
/**
* BitMatrix转ASCII Art字符画形式的二维码
*
- * @param bitMatrix
+ * @param bitMatrix BitMatrix
* @return ASCII Art字符画形式的二维码
* @since 5.8.6
*/
From 1ebdea3e0e81b2f229ddae5dc0232ccd7f1c4418 Mon Sep 17 00:00:00 2001
From: TomXin <766781886@qq.com>
Date: Sat, 27 Aug 2022 22:08:28 +0800
Subject: [PATCH 06/15] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=81=E8=A1=A5?=
=?UTF-8?q?=E5=85=85QrCodeUtil=E7=9A=84=E7=9A=84=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cn/hutool/extra/qrcode/QrCodeUtil.java | 24 +++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
index 59425e8a5..68b3e98e8 100755
--- a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
+++ b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
@@ -47,7 +47,7 @@ public class QrCodeUtil {
* 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
*
* @param content 内容
- * @param qrConfig 二维码配置,包括长、宽、边距、颜色等
+ * @param qrConfig 二维码配置,包括宽度、高度、边距、颜色等
* @param targetType 类型(图片扩展名),见{@link #QR_TYPE_SVG}、 {@link #QR_TYPE_TXT}、{@link ImgUtil}
* @param logoBase64 logo 图片的 base64 编码
* @return 图片 Base64 编码字符串
@@ -60,7 +60,7 @@ public class QrCodeUtil {
* 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
*
* @param content 内容
- * @param qrConfig 二维码配置,包括长、宽、边距、颜色等
+ * @param qrConfig 二维码配置,包括宽度、高度、边距、颜色等
* @param targetType 类型(图片扩展名),见{@link #QR_TYPE_SVG}、 {@link #QR_TYPE_TXT}、{@link ImgUtil}
* @param logo logo 图片的byte[]
* @return 图片 Base64 编码字符串
@@ -73,7 +73,7 @@ public class QrCodeUtil {
* 生成代 logo 图片的 Base64 编码格式的二维码,以 String 形式表示
*
* @param content 内容
- * @param qrConfig 二维码配置,包括长、宽、边距、颜色等
+ * @param qrConfig 二维码配置,包括宽度、高度、边距、颜色等
* @param targetType 类型(图片扩展名),见{@link #QR_TYPE_SVG}、 {@link #QR_TYPE_TXT}、{@link ImgUtil}
* @param logo logo 图片的byte[]
* @return 图片 Base64 编码字符串
@@ -91,7 +91,7 @@ public class QrCodeUtil {
*
*
* @param content 内容
- * @param qrConfig 二维码配置,包括长、宽、边距、颜色等
+ * @param qrConfig 二维码配置,包括宽度、高度、边距、颜色等
* @param targetType 类型(图片扩展名),见{@link #QR_TYPE_SVG}、 {@link #QR_TYPE_TXT}、{@link ImgUtil}
* @return 图片 Base64 编码字符串
*/
@@ -126,7 +126,7 @@ public class QrCodeUtil {
/**
* @param content 内容
- * @param qrConfig 二维码配置,包括长、宽、边距、颜色等
+ * @param qrConfig 二维码配置,包括宽度、高度、边距、颜色等
* @return SVG矢量图(字符串)
* @since 5.8.6
*/
@@ -191,7 +191,7 @@ public class QrCodeUtil {
* 生成PNG格式的二维码图片,以byte[]形式表示
*
* @param content 内容
- * @param config 二维码配置,包括长、宽、边距、颜色等
+ * @param config 二维码配置,包括宽度、高度、边距、颜色等
* @return 图片的byte[]
* @since 4.1.2
*/
@@ -234,7 +234,7 @@ public class QrCodeUtil {
* 生成二维码到文件,二维码图片格式取决于文件的扩展名
*
* @param content 文本内容
- * @param config 二维码配置,包括长、宽、边距、颜色等
+ * @param config 二维码配置,包括宽度、高度、边距、颜色等
* @param targetFile 目标文件,扩展名决定输出格式
* @return 目标文件
* @since 4.1.2
@@ -288,7 +288,7 @@ public class QrCodeUtil {
* 生成二维码到输出流
*
* @param content 文本内容
- * @param config 二维码配置,包括长、宽、边距、颜色等
+ * @param config 二维码配置,包括宽度、高度、边距、颜色等
* @param targetType 类型(图片扩展名),见{@link #QR_TYPE_SVG}、 {@link #QR_TYPE_TXT}、{@link ImgUtil}
* @param out 目标流
* @since 4.1.2
@@ -403,7 +403,7 @@ public class QrCodeUtil {
* 将文本内容编码为二维码
*
* @param content 文本内容
- * @param config 二维码配置,包括长、宽、边距、颜色等
+ * @param config 二维码配置,包括宽度、高度、边距、颜色等
* @return {@link BitMatrix}
* @since 4.1.2
*/
@@ -455,11 +455,11 @@ public class QrCodeUtil {
/**
* 解码二维码或条形码图片为文本
*
- * @param qrCodeInputstream 二维码输入流
+ * @param qrCodeInputStream 二维码输入流
* @return 解码文本
*/
- public static String decode(InputStream qrCodeInputstream) {
- return decode(ImgUtil.read(qrCodeInputstream));
+ public static String decode(InputStream qrCodeInputStream) {
+ return decode(ImgUtil.read(qrCodeInputStream));
}
/**
From cb5c5ba74f62c5338a91662fdba3bfe8af952ae7 Mon Sep 17 00:00:00 2001
From: TomXin <766781886@qq.com>
Date: Sat, 27 Aug 2022 22:27:45 +0800
Subject: [PATCH 07/15] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=9F=E6=88=90SVG?=
=?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/cn/hutool/extra/qrcode/QrCodeUtil.java | 11 +++++++----
.../java/cn/hutool/extra/qrcode/QrCodeUtilTest.java | 7 ++++---
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
index 68b3e98e8..0ccc098b4 100755
--- a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
+++ b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java
@@ -568,7 +568,7 @@ public class QrCodeUtil {
* @return SVG矢量图(字符串)
* @since 5.8.6
*/
- public static String toSVG(BitMatrix matrix, int foreColor, Integer backColor, Image logoImg, int ratio) {
+ public static String toSVG(BitMatrix matrix, Integer foreColor, Integer backColor, Image logoImg, int ratio) {
StringBuilder sb = new StringBuilder();
int qrWidth = matrix.getWidth();
int qrHeight = matrix.getHeight();
@@ -601,8 +601,6 @@ public class QrCodeUtil {
}
- Color fore = new Color(foreColor, true);
-
StringBuilder result = StrUtil.builder();
result.append("