Uitrol 31-10-2026 12:23

This commit is contained in:
jf
2026-10-31 12:23:34 +01:00
parent a0d36083e1
commit 5b791d5244
3 changed files with 137 additions and 4 deletions
+38
View File
@@ -0,0 +1,38 @@
#!/usr/bin/env python3
"""iPhone-schermafbeeldingen klaarmaken voor de App Store.
Per bestand in de invoermap:
- de statusbalk bovenin (tijd, 5G, batterij, opname- en microfoonindicator) wordt overgeschilderd met
de kleur van de kop van de app, zodat er geen tijd, netwerk of toestelinfo in staat;
- het plaatje wordt op 1290 x 2796 gebracht (iPhone 6,9 inch, toegestaan door de App Store).
Alleen de statusbalk wordt aangepast; de rest van het scherm blijft zoals het is.
Gebruik: python tools/appstore-schermen.py <invoermap> <uitvoermap>
Invoer: ORIGINELE iPhone-schermafbeeldingen (1179 x 2556 of 1290 x 2796, dezelfde beeldverhouding).
Een verkleind plaatje (bijvoorbeeld uit een chat) wordt onscherp zodra het naar 1290 x 2796 groeit.
Nodig: Pillow (pip install pillow).
"""
import sys, pathlib
from PIL import Image
DOEL = (1290, 2796)
STATUSBALK = 0.055 # aandeel van de hoogte dat de statusbalk beslaat (iPhone met Dynamic Island)
def verwerk(pad, uit):
im = Image.open(pad).convert("RGB")
b, h = im.size
if abs(b / h - DOEL[0] / DOEL[1]) > 0.01:
raise SystemExit(f"{pad.name}: beeldverhouding {b}x{h} past niet bij een iPhone-schermafbeelding")
rand = int(h * STATUSBALK)
kleur = im.getpixel((b // 2, rand + 4))
im.paste(kleur, (0, 0, b, rand))
im = im.resize(DOEL, Image.LANCZOS)
im.save(uit / (pad.stem + ".png"), optimize=True)
if __name__ == "__main__":
inv, uit = pathlib.Path(sys.argv[1]), pathlib.Path(sys.argv[2])
uit.mkdir(parents=True, exist_ok=True)
for f in sorted(inv.iterdir()):
if f.suffix.lower() in (".png", ".jpg", ".jpeg"):
verwerk(f, uit)
print("klaar:", f.name)