Rectangle with rounded corners
from PIL import Image, ImageDraw
def round_corner(radius, fill):
"""Draw a round corner"""
corner = Image.new('RGB', (radius, radius), (0, 0, 0, 0))
draw = ImageDraw.Draw(corner)
draw.pieslice((0, 0, radius * 2, radius * 2), 180, 270, fill=fill)
return corner
def round_rectangle(size, radius, fill):
"""Draw a rounded rectangle"""
width, height = size
rectangle = Image.new('RGB', size, fill)
corner = round_corner(radius, fill)
rectangle.paste(corner, (0, 0))
rectangle.paste(corner.rotate(90), (0, height - radius)) # Rotate the corner and paste it
rectangle.paste(corner.rotate(180), (width - radius, height - radius))
rectangle.paste(corner.rotate(270), (width - radius, 0))
return rectangle
img = round_rectangle((50, 50), 10, "yellow")
img.show()
Some samples, including this one, originally by Nadia Alramli