draw_ellipse
Draw an ellipse or circle on an Aseprite sprite by specifying center coordinates and radii, with options for filled or outlined shapes and antialiasing.
Instructions
Draw an ellipse centred at (center_x, center_y) with the given radii.
For a circle, use the same value for radius_x and radius_y. filled=False draws a 1px outline, and a filled ellipse is exactly that outline with its interior: the two are one shape rendered two ways, so a fill and an outline of the same call line up. antialias smooths a filled ellipse with sub-pixel coverage (RGB sprites only; ignored otherwise).
Coordinates: (0, 0) is the top-left pixel. x grows right, y grows DOWN. A span given as position plus size covers x .. x + width - 1, so width is a count of pixels, not an offset to the far edge.
Centring differs between primitives, so check this when aligning two shapes:
draw_rectangle(x, width) spans x .. x+width-1, centred on x + (width-1)/2. An even width therefore centres on a half pixel.
draw_ellipse(center, radius) spans center-radius .. center+radius, which is always an ODD 2*radius+1 pixels wide and always centred on a whole pixel.
draw_ellipse_in_box(x, y, width, height) takes the same bounding box as draw_rectangle and fills it exactly, so it is the one to use for an even diameter, a disc centred on an even canvas, or a circle that has to line up with a rectangle.
draw_symmetric_pixels mirrors about the canvas, not about either of the above.
Writes falling outside the canvas are dropped rather than raising. Every drawing tool reports pixels_written, and pixels_clipped when anything was dropped, so compare those against what you asked for rather than trusting ok.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| color | Yes | ||
| frame | No | Default: 1. | |
| layer | No | ||
| filled | No | Default: false. | |
| center_x | Yes | ||
| center_y | Yes | ||
| filename | Yes | ||
| radius_x | Yes | ||
| radius_y | Yes | ||
| antialias | No | Default: false. |