From e6fc469e608e27e1e003a7338378bbee94a8850d Mon Sep 17 00:00:00 2001 From: TomXin <766781886@qq.com> Date: Mon, 22 Aug 2022 13:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96QrCodeUtil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/hutool/extra/qrcode/QrCodeUtil.java | 2 +- .../hutool/extra/qrcode/QrCodeUtilTest.java | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) 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 371675624..2684c5fcc 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 @@ -358,7 +358,7 @@ public class QrCodeUtil { */ public static BufferedImage generate(String content, BarcodeFormat format, QrConfig config) { final BitMatrix bitMatrix = encode(content, format, config); - final BufferedImage image = toImage(bitMatrix, config.foreColor, config.backColor); + final BufferedImage image = toImage(bitMatrix, config.foreColor != null ? config.foreColor : 0xFF000000, config.backColor); final Image logoImg = config.img; if (null != logoImg && BarcodeFormat.QR_CODE == format) { // 只有二维码可以贴图 diff --git a/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java b/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java index 8384866b5..14f67f223 100755 --- a/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java @@ -44,6 +44,18 @@ public class QrCodeUtilTest { String path = FileUtil.isWindows() ? "d:/test/qrcodeCustom.png" : "~/Desktop/hutool/qrcodeCustom.png"; QrCodeUtil.generate("https://hutool.cn/", config, FileUtil.touch(path)); } + @Test +// @Ignore + public void generateNoCustomColorTest() { + QrConfig config = new QrConfig(); + config.setMargin(0); + config.setForeColor(null); + // 背景色透明 + config.setBackColor(null); + config.setErrorCorrection(ErrorCorrectionLevel.H); + String path = FileUtil.isWindows() ? "d:/test/qrcodeCustom.png" : "~/Desktop/hutool/qrcodeCustom.png"; + QrCodeUtil.generate("https://hutool.cn/", config, FileUtil.touch(path)); + } @Test @Ignore @@ -143,6 +155,18 @@ public class QrCodeUtilTest { Assert.assertNotNull(asciiArt); System.out.println(asciiArt); } + @Test + public void generateAsciiArtNoCustomColorTest() { + QrConfig qrConfig = QrConfig.create() + .setForeColor(null) + .setBackColor(null) + .setWidth(0) + .setHeight(0).setMargin(1); + String asciiArt = QrCodeUtil.generateAsAsciiArt("https://hutool.cn/",qrConfig); + Assert.assertNotNull(asciiArt); + System.out.println(asciiArt); + } + @Test public void generateToFileTest() {