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
+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