theme(shiroko): 重画光环——AI 给的环形状歪、环内还糊着白孔

- 旧环是非白像素的独立连通域(bbox 291,93-584,232,与头发不连通),整块抹白后重画
- 新环:-7° 倾斜椭圆,100x34,线宽 10px,4 倍超采样 + LANCZOS 求平滑,外加 45% 模糊柔光
- 关键:环是在 alpha 建好之后再画的,环心天然透明,不再需要给封闭白孔补洞
- 压白 16% 与场景保持一致;静态版本 20261020b,图片另带 ?v=20261020b
This commit is contained in:
tamakyi
2026-10-20 08:28:39 +08:00
parent fb94b8c204
commit 2e9bd6bb73
4 changed files with 8 additions and 4 deletions
+6 -2
View File
@@ -114,9 +114,13 @@ available = default,sakura,shiroko
grey pleated skirt, black and teal sneakers`(第一版带了教室窗框,背景处理不掉); grey pleated skirt, black and teal sneakers`(第一版带了教室窗框,背景处理不掉);
2. 再把这张图扔回 image-to-image(`input_fidelity: high`)转成"纯色块、无描边、去掉窗框与场景, 2. 再把这张图扔回 image-to-image(`input_fidelity: high`)转成"纯色块、无描边、去掉窗框与场景,
纯白背景",这样既保住姿势,又能拿到和立绘一致的平涂风格; 纯白背景",这样既保住姿势,又能拿到和立绘一致的平涂风格;
3. 抠白底后把 RGB 压白 **16%**(`v*(1-k)+255*k`,alpha 不动)——场景本身压白 38%, 3. 光环单独重画:AI 给的光环不但形状歪,环内还是一块**封闭的白孔**——floodfill 只从四边漫水,
闭合区域进水不进去,抠完就是"环里糊着一团白"。做法是先把这个连通域(非白像素从环上一点漫水,
bbox 291,93–584,232,与头发不连通)整块抹白,抠完 alpha 后再用 PIL 画一个 -7° 倾斜的椭圆环
(4 倍超采样 + LANCZOS 缩小求平滑 + 一层 45% 的模糊柔光),环心天然是透明的;
4. 抠白底后把 RGB 压白 **16%**(`v*(1-k)+255*k`,alpha 不动)——场景本身压白 38%,
人像不压白就是全页对比度最高的一块,必然"突兀"; 人像不压白就是全页对比度最高的一块,必然"突兀";
4. 裁 bbox、缩到高 460,WebP q86(约 13KB)。 5. 裁 bbox、缩到高 460,WebP q86(约 14KB)。
关键经验:**必须是"平涂无描边"**。先试过用手写 SVG 线稿,风格和用户那张立绘(色块、无描边)冲突, 关键经验:**必须是"平涂无描边"**。先试过用手写 SVG 线稿,风格和用户那张立绘(色块、无描边)冲突,
而且没有真人手感会画得很抽象;用参考图 + image-to-image 出来的四张,角色特征和画风都稳。 而且没有真人手感会画得很抽象;用参考图 + image-to-image 出来的四张,角色特征和画风都稳。
+1 -1
View File
@@ -10,7 +10,7 @@ var (
BuildCommit = "dev" BuildCommit = "dev"
// StaticVersion 静态资源缓存版本号:base.css 与主题 css 共用,改样式只改这一处。 // StaticVersion 静态资源缓存版本号:base.css 与主题 css 共用,改样式只改这一处。
StaticVersion = "20261020a" StaticVersion = "20261020b"
) )
// 文本审核通道取值([security] text_censor_source)。定义在 conf 侧, // 文本审核通道取值([security] text_censor_source)。定义在 conf 侧,
+1 -1
View File
@@ -40,7 +40,7 @@ html[data-theme-style="shiroko"] {
其余 4 个槽位是"空气"(全部是渐变,不占体积、不会成为贴纸): 其余 4 个槽位是"空气"(全部是渐变,不占体积、不会成为贴纸):
3 左窗光柱 / 4 右侧一朵暖散景 / 5 人物脚下的地面光斑 / 6 底部轻压深。 3 左窗光柱 / 4 右侧一朵暖散景 / 5 人物脚下的地面光斑 / 6 底部轻压深。
光斑把人物"钉"在地上,压深让页面下沿不飘。 */ 光斑把人物"钉"在地上,压深让页面下沿不飘。 */
--tb-deco: url("/static/images/themes/shiroko/chibi/window.webp?v=20261019r"), --tb-deco: url("/static/images/themes/shiroko/chibi/window.webp?v=20261020b"),
radial-gradient(ellipse at center, rgba(63, 96, 138, 0.18) 0%, rgba(63, 96, 138, 0) 72%), radial-gradient(ellipse at center, rgba(63, 96, 138, 0.18) 0%, rgba(63, 96, 138, 0) 72%),
linear-gradient(112deg, rgba(255, 250, 236, 0.50) 0%, rgba(255, 250, 236, 0.22) 20%, rgba(255, 250, 236, 0) 44%), linear-gradient(112deg, rgba(255, 250, 236, 0.50) 0%, rgba(255, 250, 236, 0.22) 20%, rgba(255, 250, 236, 0) 44%),
radial-gradient(circle 120px at 88% 30%, rgba(255, 252, 240, 0.42), rgba(255, 252, 240, 0) 75%), radial-gradient(circle 120px at 88% 30%, rgba(255, 252, 240, 0.42), rgba(255, 252, 240, 0) 75%),
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB