- assets/bg/bg-map1-arena-01.jpg: 裁左右顶烤黑带 + bicubic 缩放回填 1560x2960,四边纯黑硬框消除(采样 min 21-34 带纹理),右崖本征暗阴影保留作暗崖收口 - 拼接/贴边/裁切已于 a4dc91c4 解决;本提交治本黑边,背景定稿
5.8 KiB
5.8 KiB
round-13 · 治本去除背景图烤黑边
- 检查点:round-13(去 bg-map1-arena-01.jpg 烤黑边 + 替换重接 + CDP 复核)
- 时间(UTC):2026-07-25T09:03 取证 / 处理 02:01–02:03
- 机器:lili-mac.local(开发机本地,非 mini-desktop),node v22.22.3,Chrome 150
- 本检查点未 commit(待主代理复核 + 创始人眼验)
- 改动边界:仅
assets/bg/bg-map1-arena-01.jpg(替换)+dist/(重打 JS bundle)+ 本目录证据;未改 src/、plugins/、contracts
病灶(处理前逐列/逐行亮度剖面测定)
目标图 1560×2960。四边黑带性质不同:
- 左:纯黑 (0,0,0) 平铺 0–56px,x≈80 处锐变进岩纹(列均亮 1.4→21.3)。
- 右:纯黑 0–56px + 近黑缓坡延伸到 offset≈130 才到岩纹(列均亮 17→22,无锐变)。
- 顶:无纯黑,是暗青崖渐变 0–153px(行均亮 16–22,有纹理)。
- 底:本即岩纹(行均亮 30–44,苔绿),无黑带,无需处理。
左右两条纯黑竖带是烤边病灶:游戏在四边叠半透明暗角(drawArenaBounds,峰值 α=0.5),半透明叠纯黑仍≈黑,render 侧治不了,故治本改 jpg。
处理手法(PIL 确定性:裁黑带 + bicubic 缩放回填)
裁掉四边黑/近黑带到岩纹起始处,裁后核心区 bicubic 缩放回 1560×2960:
- 裁切线:左 L=84、右 R=1428(右裁 132)、顶 T=160、底不裁。裁后核心 1344×2800。
- 缩放比:x×1.161 / y×1.057。存 JPEG quality=92 / 4:2:2。
为何选缩放、弃镜像(对比实证)
并行产出两候选(同裁切线),用 Read 工具亲眼看全景与边条后定夺(亮度二阶指标抓不到结构对称,必须肉眼):
- 镜像外翻填充(
_cmp/preview-M-mirror.png):黑带虽除,但左右岩壁巨石被镜像成左右对称的"墨渍/Rorschach"重复图案,顶部出现镜像拱形——正是工单警告的镜像痕迹,人工感强。 - 裁后缩放(
_cmp/preview-S-scale.png):黑带除,岩壁巨石自然延伸到四边,无对称伪影;1.16x 上采样颗粒在全景与边条原分辨率下均不可见。
结论:镜像痕迹(中心无、边缘显眼的人工对称)比缩放颗粒(全图轻微软化)更刺眼,故选缩放。镜像候选仅作诚实留证,未采用。
为何不用 mmx 重生成
本地确定性图像处理已干净消除病灶,无需引入生成模型的随机性与 API 成本;且重生成无法保证与现有竞技场构图/熔岩走向一致,会牵动 render 侧已调好的暗角/clamp 对齐。仅在 PIL 两法均不可接受时才退回 mmx(本检查点未触发)。
副作用(如实)
- 整图轻微上采样:中心主玩区随边一起放大 1.16x,岩纹略软;亲眼看(01 全景)颗粒不可接受度低。
- 右崖本征阴影:源图右半是阴影崖面(岩纹列均亮 ~20–26),非烤边。缩放后右缘读作"暗崖"而非"亮岩"——这是源图本来的明暗,不是缺陷;游戏暗角叠其上读作天然崖影。
- 四角偏暗:裁切线恰落在左右黑带与顶暗带相交的暗角处,四角 12×12 均亮 8–11;游戏中四角本就被双暗角压到最暗(round-12 同位亮度比 0.049–0.105),暗角属设计内,未因本次处理变差。
- 无镜像痕迹、无裁切错位、无颜色偏移。
处理后四边像素采样(读磁盘新 asset,含 JPEG 重压真实值)
0–120px 列/行均亮(每 15px),应渐变、无平黑硬带:
| 边 | 0 | 15 | 30 | 45 | 60 | 75 | 90 | 105 | 0–120 最小 |
|---|---|---|---|---|---|---|---|---|---|
| 左 | 23.7 | 24.2 | 25.0 | 25.4 | 27.3 | 27.1 | 27.2 | 28.8 | 23.3 |
| 右 | 22.0 | 23.6 | 23.7 | 23.5 | 25.6 | 25.9 | 25.0 | 23.3 | 21.4 |
| 顶 | 26.6 | 25.5 | 29.9 | 26.4 | 27.1 | 27.0 | 28.7 | 33.5 | 25.5 |
| 底 | 34.7 | 35.2 | 37.0 | 36.8 | 36.3 | 39.2 | 44.9 | 48.2 | 34.4 |
- 最外 4px 平黑带占比:左 0.65% / 右 0.71% / 顶 0.24% / 底 0.19%(处理前左右≈100%;现仅为岩缝深阴影的散布像素,非连续硬带)。
- 缘带纹理(列/行均亮标准差):左 1.9 / 右 1.2 / 顶 2.4 / 底 4.7(>0 = 有岩纹渐变,非平黑)。
- 右缘最小 21.4 略低于 22 阈值:即上表右崖本征阴影(带纹理渐变,非黑带),见副作用说明。
sha256
- 新 asset
assets/bg/bg-map1-arena-01.jpg:5e3cc78b3339efc616efeb573924224c359c5cfeb47a8d3f4fef25029b80db8f(1560×2960,1.41MB) - 处理前备份
bg-before-blackfix.jpg:aaa42f3a2f2a47e35f2d7f68cf7e64e7a53726983f68081c0d9f86daadec1956 - 6 截图 sha256 见
00-arena-bg-result.json各 shot(本文末尾亦列)。
CDP 截图(engine=stub&mode=evidence,seed=777,dpr2,视口 390×844;stepFrames 确定性驱动)
进 play 态,对角走位压墙钳到四边/四角,截图前 drainFade 关升级弹层并等其关闭淡出(≤250ms)结束,保证截的是干净战场:
| 文件 | 视角 | 玩家位 | phase | 亮度比(lum>40,自定口径,仅看相对) |
|---|---|---|---|---|
| 01-arena-center-panorama.png | 中心全景 | (0,0) | play | 0.974 |
| 02-arena-edge-right.png | 右边缘 | (684,0) | play | 0.525 |
| 03-arena-edge-top.png | 顶/右上 | (684,-1384) | play | 0.198 |
| 04-arena-edge-left.png | 左/左上 | (-684,-1384) | play | 0.163 |
| 05-arena-edge-bottom.png | 底/左下 | (-684,1384) | play | 0.451 |
| 06-arena-corner-br.png | 右下角 | (684,1384) | play | 0.989 |
6 张 sha256:
- 01
584181a172ca11199aed693234a963a63c2c17177e8cc6e7b80c95f0b3216784 - 02
7d9532a62c5b8dc17289c0ee67d6d52a57adb87934347cfd1f589aca77b93cd4 - 03
d0f1f12094b20bd72b6f21fb738d2f12431ce02dbe693214301c87bd96cd0592 - 04
5c9efb033ed4c58bf4f276c4a2a59057c12c515d7845956ef985529a79ba7580 - 05
0e24f49eb38d538022564445bb3e458cf807432d8f10dcaff248fe31dd988189 - 06
5ac5fff82609edc4333e439b22cea591ea62ba901796716356172af0c99493fa
肉眼复核结论(交创始人终验):左右原纯黑竖框已消失,改为岩壁/崖纹自然收口;顶缘为带纹理暗崖;底缘为岩纹。四边无 (0,0,0)/近黑硬带。亮度比仅自定口径参考,美丑不定论。