Circles
Circles
Compare filled, outlined, hard-edged, and anti-aliased circles.

Usage
from canvas.color import Color
from canvas.buffer import Canvas
from canvas.shapes.circles import (
draw_circle,
draw_circle_aa,
fill_circle,
fill_circle_aa,
)
from canvas.io.bmp import write_bmp
from canvas.io.png import write_png
def main() raises:
var c = Canvas(2520, 480, Color(255, 255, 255))
draw_circle(c, 300, 240, 180, Color(150, 40, 180))
draw_circle_aa(c, 780, 240, 180, Color(150, 40, 180))
fill_circle(c, 1260, 240, 180, Color(150, 40, 180))
fill_circle_aa(c, 1740, 240, 180, Color(150, 40, 180))
# A 30px-wide ring at the same radius: the stroke straddles the
# radius, 15px either side of it, so this ring's outer edge sits
# where a filled disk 15px larger would end.
draw_circle_aa(c, 2220, 240, 180, Color(150, 40, 180), width=30.0)
write_bmp(c, "examples/out_circles.bmp")
write_png(c, "examples/out_circles.png")
print("wrote examples/out_circles.bmp and .png")