From a631b80598b18147025994dec59fc62ec649fcc1 Mon Sep 17 00:00:00 2001 From: litianxiang Date: Tue, 2 Jun 2026 11:29:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B0=B4=E5=8D=B0=E5=9B=BE=E9=BB=91=E8=BE=B9?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/aida/seller/util/ImageWatermarkUtil.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/aida/seller/util/ImageWatermarkUtil.java b/src/main/java/com/aida/seller/util/ImageWatermarkUtil.java index f98ba9f..e23f3cb 100644 --- a/src/main/java/com/aida/seller/util/ImageWatermarkUtil.java +++ b/src/main/java/com/aida/seller/util/ImageWatermarkUtil.java @@ -77,9 +77,11 @@ public class ImageWatermarkUtil { int width = original.getWidth(); int height = original.getHeight(); - BufferedImage output = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + BufferedImage output = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = output.createGraphics(); try { + g2d.setBackground(Color.WHITE); + g2d.clearRect(0, 0, width, height); g2d.drawImage(original, 0, 0, width, height, null); int baseFontSize = Math.max(12, (int) (Math.min(width, height) * watermarkProperties.getFontSizeRatio())); @@ -90,6 +92,7 @@ public class ImageWatermarkUtil { g2d.setColor(new Color(rgba[0], rgba[1], rgba[2], rgba.length > 3 ? rgba[3] : 128)); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER)); double radians = Math.toRadians(watermarkProperties.getRotationDegrees()); int stepX = (int) (baseFontSize * watermarkProperties.getSpacingRatioX());