From 986944ff245a2c8b7f0b313daae0cfa754a3061e Mon Sep 17 00:00:00 2001 From: AskaEth Date: Wed, 2 Sep 2026 11:47:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(ncm):=20=E6=AD=8C=E8=AF=8D=E9=A1=B5?= =?UTF-8?q?=E5=B0=81=E9=9D=A2=E6=8B=89=E4=BC=B8=E9=93=BA=E6=BB=A1=E2=86=92?= =?UTF-8?q?=E7=AD=89=E6=AF=94=E5=B1=85=E4=B8=AD=E6=94=BE=E5=A4=A7=EF=BC=88?= =?UTF-8?q?contain=EF=BC=8C=E5=9B=9B=E5=91=A8=E4=B8=BB=E9=A2=98=E5=BA=95?= =?UTF-8?q?=EF=BC=9B=E6=96=B9=E5=9B=BE=E4=B8=8D=E5=86=8D=E5=8F=98=E5=BD=A2?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- patch_v2/ncm_app/app/ui/player.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/patch_v2/ncm_app/app/ui/player.c b/patch_v2/ncm_app/app/ui/player.c index f92f71c..d0764f0 100644 --- a/patch_v2/ncm_app/app/ui/player.c +++ b/patch_v2/ncm_app/app/ui/player.c @@ -307,11 +307,19 @@ static void plr_draw_lyrics(void *ctx) const ncm_pal_t *pa = ncm_palette(g_dark); int W = g_W, H = g_H; - /* 底:封面铺满(最近邻,模糊近似)。无封面 → 沉浸底。 + /* 底:封面等比居中放大(contain:等比缩放到屏内最大、居中;四周主题底),无封面 → 沉浸底。 + * 不拉伸铺满(方图硬拉 480×720 变形丑,2026-09-02 用户报)。 * ⚠️ cover_get() 持锁返回,勿在绘前 return(防 g_cm 泄漏 → 下次 paint 自锁死,§18)。 */ meow_img *cov = cover_get(); - if (cov) meow_ui_img_scaled(0, 0, W, H, cov); - else meow_ui_fill_rect(0, 0, W, H, NCM_PLAYER_BG); + meow_ui_fill_rect(0, 0, W, H, NCM_PLAYER_BG); + if (cov) { + int cw = meow_img_w(cov), ch = meow_img_h(cov); + if (cw > 0 && ch > 0) { + int dw = W, dh = (int)((long)ch * W / cw); + if (dh > H) { dh = H; dw = (int)((long)cw * H / ch); } + meow_ui_img_scaled((W - dw) / 2, (H - dh) / 2, dw, dh, cov); + } + } cover_put(); /* 半透明叠加层:default=主题 scrim(日/夜跟随主题);power_save=黑色更重(§22)。 */ if (g_st.player_bg_mode == NCM_BG_POWER_SAVE)