From 483abdb76f7b9c78d07780869a15b8bbf05c4d22 Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 24 Apr 2024 14:51:29 +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/GifCaptcha.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/GifCaptcha.java b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/GifCaptcha.java index 5dc869116..dddca57f5 100644 --- a/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/GifCaptcha.java +++ b/hutool-swing/src/main/java/org/dromara/hutool/swing/captcha/GifCaptcha.java @@ -14,10 +14,10 @@ package org.dromara.hutool.swing.captcha; import com.madgag.gif.fmsware.AnimatedGifEncoder; -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.GraphicsUtil; import java.awt.AlphaComposite; import java.awt.Color; @@ -193,13 +193,10 @@ public class GifCaptcha extends AbstractCaptcha { * @return BufferedImage */ private BufferedImage graphicsImage(final char[] chars, final Color[] fontColor, final char[] words, final int flag) { - final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); - //或得图形上下文 - final Graphics2D g2d = image.createGraphics(); + final BufferedImage image = new BufferedImage(width, height, (null == this.background) ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_INT_RGB); + //利用指定颜色填充背景 + final Graphics2D g2d = GraphicsUtil.createGraphics(image, this.background); try{ - //利用指定颜色填充背景 - g2d.setColor(ObjUtil.defaultIfNull(this.background, Color.WHITE)); - g2d.fillRect(0, 0, width, height); AlphaComposite ac; // 字符的y坐标 final float y = (height >> 1) + (font.getSize() >> 1);