diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/ansi/AnsiColorWrapper.java b/hutool-core/src/main/java/cn/hutool/core/lang/ansi/AnsiColorWrapper.java index a9b8f19a3..bf010c492 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/ansi/AnsiColorWrapper.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/ansi/AnsiColorWrapper.java @@ -60,21 +60,6 @@ public class AnsiColorWrapper { return Ansi8BitColor.background(code); } - /** - * 区分前景还是背景 - */ - public enum ForeOrBack{ - - /** - * 前景 - */ - FORE, - /** - * 背景 - */ - BACK, - } - @Override public boolean equals(Object o) { if (this == o) { diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/ansi/ForeOrBack.java b/hutool-core/src/main/java/cn/hutool/core/lang/ansi/ForeOrBack.java new file mode 100644 index 000000000..518782bbf --- /dev/null +++ b/hutool-core/src/main/java/cn/hutool/core/lang/ansi/ForeOrBack.java @@ -0,0 +1,16 @@ +package cn.hutool.core.lang.ansi; + +/** + * 区分前景还是背景 + */ +public enum ForeOrBack{ + + /** + * 前景 + */ + FORE, + /** + * 背景 + */ + BACK, +} diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/ansi/AnsiEncoderTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/ansi/AnsiEncoderTest.java index 91f6b7aeb..b2eaa50cf 100755 --- a/hutool-core/src/test/java/cn/hutool/core/lang/ansi/AnsiEncoderTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/lang/ansi/AnsiEncoderTest.java @@ -30,10 +30,11 @@ public class AnsiEncoderTest { Color.RED, Color.WHITE, Color.YELLOW }; - for (Color foreColor : colorArray) { - AnsiElement foreElement = ansiColors.findClosest(foreColor).toAnsiElement(AnsiColorWrapper.ForeOrBack.FORE); + for (int i = 0; i < colorArray.length; i++) { + Color foreColor = colorArray[i]; + AnsiElement foreElement = ansiColors.findClosest(foreColor).toAnsiElement(ForeOrBack.FORE); Color backColor = new Color(255 - foreColor.getRed(), 255 - foreColor.getGreen(), 255 - foreColor.getBlue()); - AnsiElement backElement = ansiColors.findClosest(backColor).toAnsiElement(AnsiColorWrapper.ForeOrBack.BACK); + AnsiElement backElement = ansiColors.findClosest(backColor).toAnsiElement(ForeOrBack.BACK); String encode = AnsiEncoder.encode(foreElement, backElement, text); //Console.print( i%2==1?encode+"\n":encode); } @@ -56,8 +57,8 @@ public class AnsiEncoderTest { count++; if (countuntil)break; - AnsiElement backElement4bit = ansiColors4Bit.findClosest(new Color(r,g,b)).toAnsiElement(AnsiColorWrapper.ForeOrBack.BACK); - AnsiElement backElement8bit = ansiColors8Bit.findClosest(new Color(r,g,b)).toAnsiElement(AnsiColorWrapper.ForeOrBack.BACK); + AnsiElement backElement4bit = ansiColors4Bit.findClosest(new Color(r,g,b)).toAnsiElement(ForeOrBack.BACK); + AnsiElement backElement8bit = ansiColors8Bit.findClosest(new Color(r,g,b)).toAnsiElement(ForeOrBack.BACK); String encode4 = AnsiEncoder.encode( backElement4bit,text4); String encode8 = AnsiEncoder.encode( backElement8bit,text8); //Console.log(StrUtil.format(encode4,r,g,b)+StrUtil.format(encode8,r,g,b)); 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 65cf42596..2a4d3171a 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 @@ -5,10 +5,7 @@ import cn.hutool.core.img.Img; import cn.hutool.core.img.ImgUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; -import cn.hutool.core.lang.ansi.AnsiColorWrapper; -import cn.hutool.core.lang.ansi.AnsiColors; -import cn.hutool.core.lang.ansi.AnsiElement; -import cn.hutool.core.lang.ansi.AnsiEncoder; +import cn.hutool.core.lang.ansi.*; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.URLUtil; @@ -637,8 +634,8 @@ public class QrCodeUtil { final int height = bitMatrix.getHeight(); - final AnsiElement foreground = qrConfig.foreColor == null ? null : rgbToAnsi8BitElement(qrConfig.foreColor, AnsiColorWrapper.ForeOrBack.FORE); - final AnsiElement background = qrConfig.backColor == null ? null : rgbToAnsi8BitElement(qrConfig.backColor, AnsiColorWrapper.ForeOrBack.BACK); + final AnsiElement foreground = qrConfig.foreColor == null ? null : rgbToAnsi8BitElement(qrConfig.foreColor, ForeOrBack.FORE); + final AnsiElement background = qrConfig.backColor == null ? null : rgbToAnsi8BitElement(qrConfig.backColor, ForeOrBack.BACK); StringBuilder builder = new StringBuilder(); for (int i = 0; i <= height; i += 2) { @@ -669,7 +666,7 @@ public class QrCodeUtil { * @return AnsiElement * @since 5.8.6 */ - private static AnsiElement rgbToAnsi8BitElement(int rgb,AnsiColorWrapper.ForeOrBack foreOrBack) { + private static AnsiElement rgbToAnsi8BitElement(int rgb,ForeOrBack foreOrBack) { return ansiColors.findClosest(new Color(rgb)).toAnsiElement(foreOrBack); }