ImageDrawArcByContainer
Draw an arc sized to an existing image
- container
- IMAGE
ImageDrawArc needs you to type width and height. ImageDrawArcByContainer doesn't - you hand it an image and it draws an arc at that image's exact dimensions. Same curve, same SSAA anti-aliasing, same angle math; the only difference is where the canvas size comes from.
How it works
The node reads the width and height of the first frame of the container input and forwards them into ImageDrawArc, which does the actual drawing: RGBA canvas, PIL ImageDraw.arc, supersample by SSAA, downscale with method. Everything else is identical to the non-ByContainer version.
One thing worth being precise about: the container defines the size, but the arc is drawn on a fresh transparent canvas - the container's own pixels don't show through, and nothing is composited onto it. So wiring in a colored ImageContainer won't give you a colored background; you'll get a transparent canvas the same size. If you want the arc on top of the container's content, draw it, then composite the two images yourself.
Inputs that matter:
- container - any IMAGE; its size sets the canvas.
- size - stroke width (default 1).
- start_x / start_y, end_x / end_y - the arc's bounding box as 0–1 fractions of the canvas; defaults
0,0 → 1,1span the whole thing. - start / end - angle range in degrees (0–360), PIL-style (from 3 o'clock, clockwise). Defaults 0 → 180 = a half-circle.
- red / green / blue / alpha - stroke color (alpha defaults to 1 here).
- SSAA (default 4) and method (default
lanczos) - quality controls, same as the whole draw family.
Why you'd use it
When the canvas size should track an existing image instead of being a number you maintain. Build a 1024×1024 container once, and any arc drawn through it is automatically 1024×1024; swap the container and the drawing follows. It slots into template workflows where the ByContainer composite nodes are already reading the same container for placement.
Installing Allor
Part of the Allor Plugin (Nourepide/ComfyUI-Allor), ~90 nodes from early 2024:
cd ComfyUI/custom_nodes
git clone https://github.com/Nourepide/ComfyUI-Allor
cd ComfyUI-Allor
pip install -r requirements.txt
Restart, or search "Allor Plugin" in ComfyUI Manager - the more reliable route given the pack's history of manual-install import errors (reinstall via Manager was the repeated community fix). Dependencies are rembg + onnx; drawing needs no models.
Gotchas that apply to the whole pack
The repo was rebased to strip images from history (shrank ~344×), so git pull/auto-update can occasionally break - the README's update-troubleshooting docs cover it; delete-and-reclone is the blunt fix. [Allor] console lines at startup are the pack writing config.json and checking updates, not an error.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| container | IMAGE | — | |
| size | INT | 1 | — |
| start_x | FLOAT | 0.00 | — |
| start_y | FLOAT | 0.00 | — |
| end_x | FLOAT | 1.00 | — |
| end_y | FLOAT | 1.00 | — |
| start | INT | 0 | — |
| end | INT | 180 | — |
| red | INT | 255 | — |
| green | INT | 255 | — |
| blue | INT | 255 | — |
| alpha | FLOAT | 1.00 | — |
| SSAA | INT | 41–16 | — |
| method | COMBO | 6 options: lanczos, bicubic, hamming, bilinear, box, nearest |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |