From c268a9f0201ce00e20cae7b127c3aa2eaa8213b1 Mon Sep 17 00:00:00 2001 From: KimigaiiWuyi <444835641@qq.com> Date: Sun, 12 Nov 2023 03:01:31 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D=E7=BB=98?= =?UTF-8?q?=E5=9B=BEBug=20(#600)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GenshinUID/genshinuid_dailycost/draw_daily_cost.py | 6 +++++- GenshinUID/genshinuid_xkdata/draw_abyss_total.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/GenshinUID/genshinuid_dailycost/draw_daily_cost.py b/GenshinUID/genshinuid_dailycost/draw_daily_cost.py index b9a37c1e..3e1c0d05 100644 --- a/GenshinUID/genshinuid_dailycost/draw_daily_cost.py +++ b/GenshinUID/genshinuid_dailycost/draw_daily_cost.py @@ -68,7 +68,11 @@ async def draw_daily_cost_img(is_force: bool = False) -> Union[str, bytes]: icon = icon.resize((77, 77)) bar = Image.open(TEXT_PATH / 'bar.png') bar_draw = ImageDraw.Draw(bar) - bar.paste(icon, (43, 10), icon) + if icon.mode == 'RGBA': + mask = icon.split()[3] # 获取alpha通道作为遮罩 + bar.paste(icon, (43, 10), mask) + else: + bar.paste(icon, (43, 10)) # 如果没有alpha通道,不使用遮罩 domain1, domain2 = domain.split(':') diff --git a/GenshinUID/genshinuid_xkdata/draw_abyss_total.py b/GenshinUID/genshinuid_xkdata/draw_abyss_total.py index 22609825..d0bd2ff4 100644 --- a/GenshinUID/genshinuid_xkdata/draw_abyss_total.py +++ b/GenshinUID/genshinuid_xkdata/draw_abyss_total.py @@ -99,7 +99,11 @@ async def draw_xk_abyss_img(): # 绘图部分 char_bg = Image.open(TEXT_PATH / 'char_bg.png') charimg = Image.open(CHAR_PATH / f'{char_id}.png').resize((117, 117)) - char_bg.paste(charimg, (6, 2), charimg) + if charimg.mode == 'RGBA': + mask = charimg.split()[3] # 使用alpha通道作为mask + char_bg.paste(charimg, (6, 2), mask) + else: + char_bg.paste(charimg, (6, 2)) char_bg_draw = ImageDraw.Draw(char_bg) if char['rarity'] >= 5: text = (193, 123, 0)