From 605407549b52a25633bf7b1834d7abe96e057467 Mon Sep 17 00:00:00 2001 From: MixBadGun <1059129006@qq.com> Date: Sat, 13 Dec 2025 20:35:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B4=E5=BD=B1=E9=80=8F=E6=98=8E=E5=BA=A6?= =?UTF-8?q?=E3=80=81=E9=A2=9C=E8=89=B2=E8=AF=BB=E5=8F=96=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- konabot/plugins/fx_process/fx_handle.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/konabot/plugins/fx_process/fx_handle.py b/konabot/plugins/fx_process/fx_handle.py index 396e73b..acc8165 100644 --- a/konabot/plugins/fx_process/fx_handle.py +++ b/konabot/plugins/fx_process/fx_handle.py @@ -4,6 +4,7 @@ from PIL import ImageEnhance from PIL import ImageChops from PIL import ImageOps import cv2 +from nonebot import logger from konabot.common.path import FONTS_PATH from konabot.plugins.fx_process.color_handle import ColorHandle @@ -625,20 +626,20 @@ class ImageFilterImplement: y_offset: int = 10, blur: float = 10, opacity: float = 0.5, - shadow_color = "black") -> Image.Image: + shadow_color: str = "black") -> Image.Image: if image.mode != 'RGBA': image = image.convert('RGBA') offset = (-x_offset, -y_offset) # 创建阴影图层 shadow_rgb = ColorHandle.parse_color(shadow_color) + logger.debug(f"Shadow color RGB: {shadow_rgb}") shadow = Image.new('RGBA', image.size, (0, 0, 0, 0)) shadow_draw = ImageDraw.Draw(shadow) - shadow_draw.rectangle( - [0, 0, image.size[0], image.size[1]], - fill=(shadow_rgb[0], shadow_rgb[1], shadow_rgb[2], int(255 * opacity)) - ) + # 填充阴影颜色 + shadow_draw.rectangle([(0, 0), image.size], fill=(shadow_rgb[0], shadow_rgb[1], shadow_rgb[2], 255)) # 应用遮罩 - shadow.putalpha(image.split()[-1]) + alpha = image.split()[-1].point(lambda p: p * opacity) + shadow.putalpha(alpha) # 移动 shadow = shadow.transform( shadow.size,