diff --git a/backend/apps/exports/utils.py b/backend/apps/exports/utils.py index cba0f5a..25722b6 100644 --- a/backend/apps/exports/utils.py +++ b/backend/apps/exports/utils.py @@ -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)) # 主体图