Nodes/Allor Plugin/ImageDrawEllipse
ComfyUI Node

ImageDrawEllipse

Draw an ellipse (or circle) with outline and fill

By Nourepide·Created 3 years ago·Updated 2 years ago· 296
ImageDrawEllipse
    • IMAGE
    width256
    height256
    start_x0.00
    start_y0.00
    end_x1.00
    end_y1.00
    outline_size1
    outline_red0
    outline_green0
    outline_blue0
    outline_alpha1.00
    fill_red255
    fill_green255
    fill_blue255
    fill_alpha1.00
    SSAA4
    method

    ImageDrawEllipse draws a filled ellipse with an optional outline on a transparent RGBA canvas. It's the node you reach for when you need a circle, an oval, a lens-shaped overlay, or a soft-color disc to composite under something - and it's the first draw node here with separate fill_* and outline_* controls, which is what makes it actually useful for graphics rather than just lines.

    How it works

    Same pipeline as the whole Allor draw family: RGBA canvas, PIL ImageDraw.ellipse, supersample by SSAA, downscale with method, output a single IMAGE tensor. The ellipse is fit inside a bounding box you define with normalized coordinates - make the box square and you get a perfect circle.

    Inputs that matter:

    • width / height - canvas size, default 256×256.
    • start_x / start_y, end_x / end_y - the ellipse's bounding box as 0–1 fractions of the canvas. Defaults 0,0 → 1,1 draw an ellipse touching all four edges; a square box gives a circle.
    • outline_size - stroke width for the outline, default 1. Set it to 0 if you want a fill with no edge.
    • outline_red / green / blue / alpha - outline color, default black at full opacity.
    • fill_red / green / blue / alpha - fill color, default white at full opacity.
    • SSAA (default 4) and method (default lanczos) - anti-aliasing quality, shared across the family.

    The gotcha

    Output is RGBA with a transparent background - the area outside the ellipse is (0,0,0,0), so in a Preview the shape floats on a checkerboard. That's perfect for compositing a disc over an image, but if you wanted a backdrop, put the ellipse on a container rather than expecting one. Also worth noting: at low outline_size with a big SSAA gap the edge can look softer or thinner than you expect - it's the downscale doing its thing, not a bug.

    Why you'd use it

    Tonal vignettes, bokeh discs, ring highlights, target/scope overlays, or any circular UI element. Because it outputs real alpha, a white filled circle composites cleanly as a mask-shaped image too - you can feed it into mask-based workflows after converting.

    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. 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.

    Categoryimage/draw

    Inputs (17)

    NameTypeDefaultDescription
    widthINT256
    heightINT256
    start_xFLOAT0.00
    start_yFLOAT0.00
    end_xFLOAT1.00
    end_yFLOAT1.00
    outline_sizeINT1
    outline_redINT0
    outline_greenINT0
    outline_blueINT0
    outline_alphaFLOAT1.00
    fill_redINT255
    fill_greenINT255
    fill_blueINT255
    fill_alphaFLOAT1.00
    SSAAINT41–16
    methodCOMBO6 options: lanczos, bicubic, hamming, bilinear, box, nearest

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE