style: Unmult 的黑点/白点改为中文滑块,与 LayerStyle 观感一致

两项参数加 "display": "slider",界面从带箭头的数字框变成滑块;
参数名直接用中文「黑点」「白点」,这样不依赖 i18n 语言包,
任何语言环境下都显示中文(LayerStyle 显示中文是靠它自带的翻译文件)。

中文名无法作为函数形参,故 unmult() 改用 **kwargs 接收,
同时兼容旧的 alpha_low / alpha_high,早先保存的工作流不会失配。

验证:display=slider 生效、tooltip 保留、取值范围与步进不变;
黑点 0.2 使全透明占比 0.031→0.219,白点 0.7 使全不透明占比
0.016→0.312,参数确实起作用;旧英文名调用照常工作。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
rui40000
2026-08-17 14:42:12 +08:00
co-authored by Claude Opus 4.8
parent bc433bc24a
commit ea632a54d1
2 changed files with 19 additions and 5 deletions
+4 -2
View File
@@ -1201,8 +1201,10 @@ Unity/Godot 归一化 pivot(左下为原点):(0.5411, 0.0699)
**输入参数**:
- `image` (IMAGE): 待去底图像,支持批量(序列帧/视频帧逐帧处理)
- `bg_color` (STRING): 要去除的背景色,`#RRGGBB`。常用 `#000000` / `#FFFFFF` / `#00FF00` / `#FF00FF`
- `alpha_low` (FLOAT): 黑点,低于此值的 alpha 归零,用于清除背景残留噪点
- `alpha_high` (FLOAT): 白点,高于此值的 alpha 归一,用于让主体更实
- `黑点` (FLOAT, 滑块): 低于此值的 alpha 归零,用于清除背景残留噪点。调太高会丢边缘细节
- `白点` (FLOAT, 滑块): 高于此值的 alpha 归一,用于让主体更实。调太低会让边缘硬化
后两项用中文参数名 + `display: slider`,界面上就是两条滑块,与 LayerStyle 的 BiRefNet Ultra 观感一致。函数内部用 `**kwargs` 接收(中文名不能直接做函数形参),并兼容旧的 `alpha_low`/`alpha_high` 调用。
**输出**: `rgba_image` (IMAGE,4 通道) / `alpha` (MASK)
+15 -3
View File
@@ -82,13 +82,18 @@ class RuiUnmult:
"常用值:#000000(黑底)、#FFFFFF(白底)、"
"#00FF00(绿幕)、#FF00FF(品红)。"
}),
"alpha_low": ("FLOAT", {
# 用中文参数名 + display:slider,界面上就是「黑点/白点」两条滑块,
# 与 LayerStyle 的 BiRefNet Ultra 观感一致。
# 中文名不能直接做函数形参,故 unmult() 统一用 **kwargs 接收。
"黑点": ("FLOAT", {
"default": 0.0, "min": 0.0, "max": 0.5, "step": 0.01,
"display": "slider",
"tooltip": "黑点(主体保护):低于此值的 alpha 强制归零。\n"
"调高可清除背景残留噪点,但过高会丢失边缘细节。"
}),
"alpha_high": ("FLOAT", {
"白点": ("FLOAT", {
"default": 1.0, "min": 0.3, "max": 1.0, "step": 0.01,
"display": "slider",
"tooltip": "白点(主体保护):高于此值的 alpha 强制归一。\n"
"调低可让主体更实、减少半透明损失,但过低会让边缘硬化。"
}),
@@ -100,7 +105,14 @@ class RuiUnmult:
FUNCTION = "unmult"
CATEGORY = "Rui-Node🐶/抠图✂️"
def unmult(self, image, bg_color, alpha_low, alpha_high):
def unmult(self, **kwargs):
# 「黑点/白点」是中文参数名,无法直接写进函数签名,统一从 kwargs 取。
# 同时兼容旧的英文名,避免早先保存的工作流失配。
image = kwargs.get("image")
bg_color = kwargs.get("bg_color", "#000000")
alpha_low = kwargs.get("黑点", kwargs.get("alpha_low", 0.0))
alpha_high = kwargs.get("白点", kwargs.get("alpha_high", 1.0))
bg_rgb = _hex_to_rgb01(bg_color)
B, H, W, C = image.shape