feat: Initial commit for OnEver Drive centralized backup system with Windows PyQt6 agent and Proxmox LXC deployment
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user