Files

42 lines
1.4 KiB
Python

from PIL import Image, ImageDraw
from pathlib import Path
def generate_app_icons():
assets_dir = Path(__file__).resolve().parent / "assets"
assets_dir.mkdir(parents=True, exist_ok=True)
size = (256, 256)
img = Image.new("RGBA", size, (0, 0, 0, 0))
draw = ImageDraw.Draw(img)
# Draw rounded shield / background
# Gradient/Cyan-Indigo background rounded rect
draw.rounded_rectangle([(16, 16), (240, 240)], radius=48, fill="#0F172A", outline="#06B6D4", width=8)
# Draw cloud / shield icon
# Cloud base
draw.ellipse([(60, 110), (140, 170)], fill="#06B6D4")
draw.ellipse([(110, 80), (190, 160)], fill="#38BDF8")
draw.ellipse([(140, 110), (200, 170)], fill="#60A5FA")
draw.rectangle([(100, 130), (170, 170)], fill="#06B6D4")
# Draw upward upload arrow inside cloud
# Arrow head
draw.polygon([(145, 110), (120, 135), (170, 135)], fill="#FFFFFF")
# Arrow body
draw.rectangle([(137, 135), (153, 160)], fill="#FFFFFF")
# Save PNG
png_path = assets_dir / "icon.png"
img.save(png_path, "PNG")
# Save ICO
ico_path = assets_dir / "icon.ico"
img.save(ico_path, format="ICO", sizes=[(16, 16), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)])
print(f"Icons generated at: {png_path} and {ico_path}")
return ico_path, png_path
if __name__ == "__main__":
generate_app_icons()