From 1b4fb6d8e40531ceb0d95427fe4327273b392311 Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 24 Apr 2024 14:48:40 +0800 Subject: [PATCH] =?UTF-8?q?Captcha.setBackground=E4=B8=BAnull=E6=97=B6?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E9=80=8F=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/swing/captcha/AbstractCaptcha.java | 4 ++-- .../org/dromara/hutool/swing/captcha/CircleCaptcha.java | 8 +++----- .../org/dromara/hutool/swing/captcha/LineCaptcha.java | 8 +++----- .../org/dromara/hutool/swing/captcha/ShearCaptcha.java | 4 ++-- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/AbstractCaptcha.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/AbstractCaptcha.java index 0218667ff..6b502c9df 100644 --- a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/AbstractCaptcha.java +++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/AbstractCaptcha.java @@ -72,7 +72,7 @@ public abstract class AbstractCaptcha implements ICaptcha { /** * 背景色 */ - protected Color background; + protected Color background = Color.WHITE; /** * 文字透明度 */ @@ -267,7 +267,7 @@ public abstract class AbstractCaptcha implements ICaptcha { } /** - * 设置背景色 + * 设置背景色,{@code null}表示透明背景 * * @param background 背景色 * @since 4.1.22 diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/CircleCaptcha.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/CircleCaptcha.java index b227463ba..713e62c1b 100644 --- a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/CircleCaptcha.java +++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/CircleCaptcha.java @@ -12,14 +12,12 @@ package org.dromara.hutool.swing.captcha; -import org.dromara.hutool.core.util.ObjUtil; import org.dromara.hutool.core.util.RandomUtil; import org.dromara.hutool.swing.captcha.generator.CodeGenerator; import org.dromara.hutool.swing.captcha.generator.RandomGenerator; -import org.dromara.hutool.swing.img.color.ColorUtil; import org.dromara.hutool.swing.img.GraphicsUtil; +import org.dromara.hutool.swing.img.color.ColorUtil; -import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; @@ -94,8 +92,8 @@ public class CircleCaptcha extends AbstractCaptcha { @Override public Image createImage(final String code) { - final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); - final Graphics2D g = GraphicsUtil.createGraphics(image, ObjUtil.defaultIfNull(this.background, Color.WHITE)); + final BufferedImage image = new BufferedImage(width, height, (null == this.background) ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_INT_RGB); + final Graphics2D g = GraphicsUtil.createGraphics(image, this.background); try { // 随机画干扰圈圈 diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/LineCaptcha.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/LineCaptcha.java index bda92cba8..8fed11add 100644 --- a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/LineCaptcha.java +++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/LineCaptcha.java @@ -12,14 +12,12 @@ package org.dromara.hutool.swing.captcha; -import org.dromara.hutool.core.util.ObjUtil; import org.dromara.hutool.core.util.RandomUtil; import org.dromara.hutool.swing.captcha.generator.CodeGenerator; import org.dromara.hutool.swing.captcha.generator.RandomGenerator; -import org.dromara.hutool.swing.img.color.ColorUtil; import org.dromara.hutool.swing.img.GraphicsUtil; +import org.dromara.hutool.swing.img.color.ColorUtil; -import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; @@ -88,8 +86,8 @@ public class LineCaptcha extends AbstractCaptcha { @Override public Image createImage(final String code) { // 图像buffer - final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); - final Graphics2D g = GraphicsUtil.createGraphics(image, ObjUtil.defaultIfNull(this.background, Color.WHITE)); + final BufferedImage image = new BufferedImage(width, height, (null == this.background) ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_INT_RGB); + final Graphics2D g = GraphicsUtil.createGraphics(image, this.background); try { // 干扰线 diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/ShearCaptcha.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/ShearCaptcha.java index f617801c3..3edcf7963 100644 --- a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/ShearCaptcha.java +++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/ShearCaptcha.java @@ -94,8 +94,8 @@ public class ShearCaptcha extends AbstractCaptcha { @Override public Image createImage(final String code) { - final BufferedImage image = new BufferedImage(this.width, this.height, BufferedImage.TYPE_INT_RGB); - final Graphics2D g = GraphicsUtil.createGraphics(image, ObjUtil.defaultIfNull(this.background, Color.WHITE)); + final BufferedImage image = new BufferedImage(width, height, (null == this.background) ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_INT_RGB); + final Graphics2D g = GraphicsUtil.createGraphics(image, this.background); try { // 画字符串