Rectangle with rounded corners
examples/pil/draw_rectangle_with_rounded_corners.py
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