fix: 大小王角标不显示 — background_color 被全局白底覆盖
draw_joker 用 design.get('background_color', default) 试图取 fallback,
但整副牌默认就是白底,所以 fallback 永远走不到。
大王显示成白底 + 白字 = 看不到,小王同理。
修复:从 project.card_overrides[card_key] 单独读 background_color,
没有就硬编码回默认绿/红(不被 project.design 全局色污染)。
This commit is contained in:
@@ -296,8 +296,14 @@ def draw_joker(canvas, design, which, project, card_key, asset):
|
||||
"""绘制大小王:独立背景 + 主体图 + 文字"""
|
||||
w, h = canvas.size
|
||||
|
||||
# 优先用单牌覆盖的背景色
|
||||
bg_color = design.get('background_color', '#1B5E20' if which == 'big' else '#B71C1C')
|
||||
# 大小王默认有自己的背景色(绿/红),不被整副牌的 background_color 覆盖
|
||||
# 除非用户显式在 card_overrides 里设了 background_color
|
||||
default_bg = '#1B5E20' if which == 'big' else '#B71C1C'
|
||||
card_overrides = (project.card_overrides or {}).get(card_key, {})
|
||||
if 'background_color' in card_overrides:
|
||||
bg_color = card_overrides['background_color']
|
||||
else:
|
||||
bg_color = default_bg
|
||||
canvas.paste(hex_to_rgba(bg_color, 255), (0, 0, w, h))
|
||||
|
||||
# 主体图
|
||||
|
||||
Reference in New Issue
Block a user