Files
1hew-ComfyUI-1hewNodes/web/docs/1hew_ImageAddLabel/en.md
T
2025-11-18 18:35:12 +08:00

45 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Image Add Label - Adaptive text labeling
**Node Purpose:** `Image Add Label` adds text labels to images with auto-scaling based on image size and placement direction. Supports batch images and batch texts, dynamic variable substitution, dashed section separators, and multi-line wrapping that fits available space.
## Inputs
| Name | Port | Type | Default | Range | Description |
| ---- | ---- | ---- | ------- | ----- | ----------- |
| `image` | - | IMAGE | - | - | Input image batch. |
| `height_pad` | - | INT | 24 | 1–1024 | Minimum padding in pixels around text. Scales with image size. |
| `font_size` | - | INT | 36 | 1–256 | Base font size at 1024 reference resolution. Scales automatically. |
| `invert_color` | - | BOOLEAN | True | - | White label with black text when True; inverted when False. |
| `font` | - | COMBO | auto | fonts dir | Font file from `fonts/` directory (e.g., `Alibaba-PuHuiTi-Regular.otf`). |
| `text` | - | STRING(multiline) | "" | - | Label text. Supports `--` separator lines to split sections, otherwise uses newline. |
| `direction` | - | COMBO | `top` | `top`/`bottom`/`left`/`right` | Placement side of the label. |
| `input1` | - | STRING | "" | - | Optional variable available to template in `text`. |
| `input2` | - | STRING | "" | - | Optional variable available to template in `text`. |
## Outputs
| Name | Type | Description |
|------|------|-------------|
| `image` | IMAGE | Labeled image batch (`B×H×W×3`). |
## Features
- Auto scale: selects scale mode by content side and aspect, keeping perceived label proportion across sizes.
- Smart wrap: width-constrained multi-line wrapping for both space-separated and CJK text; caches measurements for performance.
- Fixed line height: consistent line spacing from font metrics, avoiding layout jitter across lines.
- Variable templates: supports `{input1}`, `{input2}`, and per-frame expressions `{index}`, `{idx}`, `{range±K}`, with zero-padding for `{range}` depending on batch length.
- Direction-aware layout: top/bottom create horizontal label bars; left/right rotate a temporary label and attach vertically.
- Async rendering: per-frame rendering runs in worker threads to keep UI responsive.
## Typical Usage
- Add a top banner: set `direction=top`, write multi-line text, and tune `height_pad` for spacing.
- Side annotation: set `direction=left/right` to attach a vertical label bar; content wraps by available height.
- Batch templating: use `text` like `Frame {index+1}\nID {range}` to auto-number each frame.
- Custom fonts: drop `.ttf/.otf` into `fonts/` and select via `font`.
## Notes & Tips
- Base sizing uses 1024 reference resolution; actual `font_size` and `height_pad` are scaled by image dimensions and placement side.
- `--` separator lines split sections strictly; when present, only dashed blocks are considered, inner newlines are preserved.
- Colors: `invert_color=True` creates white label with black text, `False` creates black label with white text.