hallo knut
This commit is contained in:
commit
33a8b18147
79 files changed
+2267
No files matched your search
@@ -0,0 +1,53 @@
|
||||
"""Generates the PWA icons. Run: python3 tools/make_icons.py"""
|
||||
|
||||
import os
|
||||
|
||||
from PIL import Image, ImageDraw
|
||||
|
||||
BG = (14, 14, 17, 255)
|
||||
GREY = (139, 139, 150, 255)
|
||||
RED = (255, 59, 48, 255)
|
||||
WHITE = (242, 242, 245, 255)
|
||||
|
||||
OUT_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "icons")
|
||||
SS = 4 # supersampling factor for smooth edges
|
||||
|
||||
|
||||
def make_icon(size, content_scale):
|
||||
s = size * SS
|
||||
img = Image.new("RGBA", (s, s), BG)
|
||||
d = ImageDraw.Draw(img)
|
||||
|
||||
cx = cy = s / 2
|
||||
r = s * content_scale / 2
|
||||
width = int(s * 0.072)
|
||||
box = [cx - r, cy - r, cx + r, cy + r]
|
||||
|
||||
# grey arc = pause (270 deg), red arc = training (90 deg)
|
||||
d.arc(box, start=-90, end=180, fill=GREY, width=width)
|
||||
d.arc(box, start=180, end=270, fill=RED, width=width)
|
||||
|
||||
# clock hand pointing up
|
||||
hand_w = int(s * 0.05)
|
||||
d.line([(cx, cy), (cx, cy - r * 0.58)], fill=WHITE, width=hand_w)
|
||||
dot = hand_w * 0.9
|
||||
d.ellipse([cx - dot, cy - dot, cx + dot, cy + dot], fill=WHITE)
|
||||
|
||||
return img.resize((size, size), Image.Resampling.LANCZOS)
|
||||
|
||||
|
||||
def main():
|
||||
os.makedirs(OUT_DIR, exist_ok=True)
|
||||
targets = [
|
||||
("icon-192.png", 192, 0.78),
|
||||
("icon-512.png", 512, 0.78),
|
||||
("icon-maskable-512.png", 512, 0.60),
|
||||
]
|
||||
for name, size, scale in targets:
|
||||
path = os.path.join(OUT_DIR, name)
|
||||
make_icon(size, scale).save(path, "PNG")
|
||||
print("wrote", path)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in new issue
Block a user