from PIL import Image, ImageDraw def generate_icon(size, filename): img = Image.new("RGBA", (size, size), (0, 0, 0, 0)) draw = ImageDraw.Draw(img) # Rounded rectangle background corner_radius = size // 5 bg_color = (255, 107, 53, 255) # Primary orange draw.rounded_rectangle([0, 0, size, size], radius=corner_radius, fill=bg_color) # Outer plate rim center = size // 2 rim_radius = int(size * 0.38) draw.ellipse( [center - rim_radius, center - rim_radius, center + rim_radius, center + rim_radius], fill=(255, 255, 255, 240) ) # Inner plate circle inner_radius = int(size * 0.30) draw.ellipse( [center - inner_radius, center - inner_radius, center + inner_radius, center + inner_radius], fill=(245, 247, 250, 255) ) # Food accent cloche / fork / dish shapes cloche_r = int(size * 0.18) draw.pieslice( [center - cloche_r, center - cloche_r, center + cloche_r, center + cloche_r], start=180, end=360, fill=(255, 107, 53, 255) ) # Cloche base line draw.line( [(center - cloche_r, center), (center + cloche_r, center)], fill=(255, 107, 53, 255), width=max(2, size // 40) ) # Cloche knob knob_r = max(2, size // 32) draw.ellipse( [center - knob_r, center - cloche_r - knob_r, center + knob_r, center - cloche_r + knob_r], fill=(255, 107, 53, 255) ) img.save(filename, "PNG") print(f"Generated {filename}") if __name__ == "__main__": generate_icon(192, "/home/maxi/Projekt/wtc.waiswuaschd.de/app/static/icon-192.png") generate_icon(512, "/home/maxi/Projekt/wtc.waiswuaschd.de/app/static/icon-512.png")