Help pages named the raw widget (divisible_by, max_frames, color_match) where the card shows a label (Multiple, Limit, Tone match), so a reader could not find the control. Each such control now reads as the visible label with the widget name beside it, and option values show the text on the segment (match a, hist, cover, guided).
49 lines
2.3 KiB
Markdown
49 lines
2.3 KiB
Markdown
# Align Image
|
|
|
|
Snaps an image's width and height to a clean multiple of a number you pick —
|
|
8, 16, 32, 64, whatever the model downstream wants. Qwen image models, VAEs,
|
|
and plenty of samplers behave best (or only work) on sizes that divide
|
|
cleanly; this node makes any input legal without hand-typing resolutions.
|
|
|
|
## Controls
|
|
|
|
- **image**: BHWC batch to align; every frame is treated the same.
|
|
- **multiple**: Both output sides come out divisible by this. `16` or `32`
|
|
suits most diffusion models; latent nodes generally want at least `8`.
|
|
- **mode**: How the multiple is reached. Each mode implies its own rounding
|
|
direction, so there is no separate rounding widget:
|
|
- **resize** — rescale to the *nearest* multiple. A slight stretch, but
|
|
every pixel's content survives. The default.
|
|
- **crop** — crop *down* to the next multiple. No distortion; a few edge
|
|
pixels are trimmed where **Anchor** says.
|
|
- **pad** — pad the edges *up* to the next multiple. No distortion; the
|
|
new pixels land where **Anchor** says and are filled per **pad_fill**.
|
|
- **Anchor** (`crop_position`): Crop mode only — which part of the frame
|
|
survives. `center` trims both edges evenly; `top`, `bottom`, `left`, or
|
|
`right` pin that edge and trim the opposite one. Ignored by resize and pad.
|
|
- **Anchor** (`pad_position`): Pad mode only — where the image sits on the
|
|
grown canvas; the new pixels land on the opposite side. `center` splits
|
|
them evenly. Same vocabulary as `crop_position`.
|
|
- **pad_fill**: Pad mode only — what fills the new area. `replicate`
|
|
stretches the edge pixels out; `color` uses **pad_color** as a solid.
|
|
- **pad_color**: The solid fill for `pad_fill: color`. Hex, `R,G,B`
|
|
numbers, or a CSS color name.
|
|
|
|
A side already smaller than one multiple can never be cropped legal, so it
|
|
snaps up to exactly one multiple in every mode (in crop mode the deficit is
|
|
replicate-padded evenly, whatever the **Anchor**).
|
|
|
|
## Outputs
|
|
|
|
- **image**: The aligned batch.
|
|
- **width** / **height**: The new size as INTs — wire them into an Empty
|
|
Latent, a resize, or conditioning nodes so the numbers can never drift
|
|
from the actual image.
|
|
|
|
|
|
## Notes
|
|
|
|
At most `multiple - 1` pixels are added or removed per side, so the change
|
|
is invisible at 16 or 32 on normal resolutions. Batches keep their frame
|
|
count; values stay in `[0, 1]`.
|