ImageDrawArc
Draw a curve — the arc node with proper anti-aliasing
- IMAGE
Need an arc - part of a circle's outline - as an image, without leaving ComfyUI? ImageDrawArc draws one on a fresh RGBA canvas and hands you a real IMAGE tensor. It's the building block for rings, brackets, speedometer ticks, loading-spinner arcs, or any curved line you'd otherwise be fighting to make with mask math.
How Allor draws
All the ImageDraw* nodes share one pipeline: create an RGBA canvas, draw with PIL's ImageDraw, then convert to a tensor. Two details matter across the whole family.
First, SSAA (supersampling). The node renders at SSAA × the target resolution, then downscales - that's what gives you smooth edges instead of staircase jaggies. Default is 4, which is a good balance; crank it to 8 or 16 for poster-quality edges on big canvases, at the cost of a much larger intermediate image. On huge outputs the memory hit is real, so don't leave it at 16.
Second, method - the resampler used for that downscale: lanczos, bicubic, hamming, bilinear, box, nearest. Default (first in the list) is lanczos, and honestly you can leave it there; drop to nearest only if you want crisp pixel-art-style edges.
Inputs that matter
- width / height - canvas size, default 256×256.
- start_x / start_y and end_x / end_y - the bounding box of the arc, as 0–1 fractions of the canvas.
0,0 → 1,1(the defaults) fills the whole canvas; a smaller box shrinks the ellipse the arc traces. - start / end - the arc's angle range in degrees (0–360), following PIL's convention: measured from 3 o'clock, increasing clockwise. Defaults of 0 → 180 give you a half-circle.
- size - stroke width in pixels, default 1.
- red / green / blue / alpha - stroke color. Draw nodes default alpha to 1 (opaque), unlike the container nodes.
- SSAA and method - as above.
Output is a single RGBA IMAGE, transparent everywhere except the stroke.
The gotcha
Every draw node outputs a transparent background - the canvas starts as RGBA (0,0,0,0). Wire it straight into a Preview and you'll see the curve floating on a checkerboard. That's a feature if you're compositing (it pastes cleanly onto anything), but if you expected a solid backdrop, composite the result onto an ImageContainer first.
Installing Allor
This ships in 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. 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 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 (15)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 256 | — |
| height | INT | 256 | — |
| 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 | — |