Initial commit: What To Cook (WTC) v4.4 - Digitales Kochbuch, Wochenmenueplan & Buchdruck
This commit is contained in:
Executable
+50
@@ -0,0 +1,50 @@
|
||||
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")
|
||||
Reference in New Issue
Block a user