46 lines
3.1 KiB
Markdown
46 lines
3.1 KiB
Markdown
# Image Add Label - 图像文字标注(自适应缩放)
|
||
|
||
**节点功能**:`Image Add Label` 为图像添加文字标签,标签随图像尺寸与放置方向自适应缩放。支持批量图像与批量文本、动态变量引用、`--` 段落分隔以及按可用宽度自动换行。任一输入批次为 RGBA 时,节点会保留 alpha 并输出 RGBA。
|
||
|
||
## Inputs | 输入
|
||
|
||
| 参数名称 | 入端选择 | 数据类型 | 默认值 | 取值范围 | 描述 |
|
||
| -------- | -------- | -------- | ------ | -------- | ---- |
|
||
| `image` | - | IMAGE | - | - | 输入图像批次 |
|
||
| `height_pad` | - | INT | 24 | 1–1024 | 文本周围的最小留白,随尺寸比例缩放 |
|
||
| `font_size` | - | INT | 36 | 1–256 | 以 1024 为参考分辨率的基础字号,自动缩放 |
|
||
| `invert_color` | - | BOOLEAN | True | - | `True` 输出白色标签+黑字;`False` 输出黑色标签+白字 |
|
||
| `font` | - | COMBO | 自动 | fonts 目录 | 从 `fonts/` 目录选择字体(如 `Alibaba-PuHuiTi-Regular.otf`) |
|
||
| `text` | - | STRING(多行) | "" | - | 标签文本。存在仅由连字符组成的行时,按 `--` 严格分段;否则按换行分割 |
|
||
| `direction` | - | COMBO | `top` | `top`/`bottom`/`left`/`right` | 标签放置方向 |
|
||
| `input1` | - | STRING | "" | - | 可在 `text` 中引用的变量 |
|
||
| `input2` | - | STRING | "" | - | 可在 `text` 中引用的变量 |
|
||
|
||
## Outputs | 输出
|
||
|
||
| 输出名称 | 数据类型 | 描述 |
|
||
|---------|----------|------|
|
||
| `image` | IMAGE | 带标签的图像批次;RGB 输入输出 RGB,RGBA 输入自动保留 RGBA |
|
||
|
||
## 功能说明
|
||
|
||
- 自适应缩放:基于图像宽高与放置方向自动选择缩放模式,保持不同尺寸下的标签占比一致。
|
||
- 智能换行:按最大可用宽度进行多行换行;兼容空格分词与中文等无空格文本,度量结果缓存提升性能。
|
||
- 固定行高:通过字体度量获取固定行高与顶部偏移,确保行距稳定、布局不跳动。
|
||
- 变量模板:支持 `{input1}`、`{input2}`,以及逐帧表达式 `{index}`、`{idx}`、`{range±K}`;`{range}` 可按批量长度自动补零。
|
||
- 方向布局:`top/bottom` 生成水平标签条;`left/right` 通过旋转临时标签后进行垂直拼接。
|
||
- Alpha 规则:当输入图像带 alpha 时,原图透明区域会保留,新增标签区域默认写入不透明 alpha。
|
||
- 异步渲染:逐帧在工作线程渲染,保持界面响应性。
|
||
|
||
## 典型用法
|
||
|
||
- 顶部横幅:设置 `direction=top`,使用多行文本;通过 `height_pad` 调整留白。
|
||
- 侧边标注:设置 `direction=left/right`,生成垂直标签条;内容按高度自动换行。
|
||
- 批量编号:`text` 示例 `Frame {index+1}\nID {range}`,每帧自动编号。
|
||
- 自定义字体:将 `.ttf/.otf` 放入 `fonts/` 目录后在 `font` 下拉选择。
|
||
|
||
## 注意与建议
|
||
|
||
- 基础字号与留白以 1024 分辨率为参考,并随图像尺寸与方向进行比例缩放。
|
||
- 当存在仅由连字符组成的行时,`--` 分隔优先且严格;分段内部的换行原样保留。
|
||
- `invert_color=True` 输出白底黑字的标签;`False` 输出黑底白字的标签。 |