aperture-forensics / scripts /resize_screenshots.py
Nandan Acharya
deploy: HF Spaces snapshot β€” README_HF overlay + fresh screenshot pipeline
65f640c
Raw
History Blame Contribute Delete
1.31 kB
"""Downscale tab screenshots in docs/screenshots/ for README use.
Welcome is left alone (it's the hero shot). Tabs are resized to a
max width of 1100 px and re-saved as optimized PNGs. Typical reduction:
1-2.5 MB β†’ 200-400 KB per file.
"""
from __future__ import annotations
from pathlib import Path
from PIL import Image
OUT = Path("docs/screenshots")
TAB_FILES = [
"verdict.png",
"ai_detection.png",
"tampering.png",
"scene.png",
"metadata.png",
"performance.png",
]
TARGET_WIDTH = 1100
def main() -> None:
for fname in TAB_FILES:
path = OUT / fname
if not path.exists():
print(f"[skip] {path} missing")
continue
before = path.stat().st_size
with Image.open(path) as img:
if img.width <= TARGET_WIDTH:
print(f"[skip] {fname} already {img.width}px")
continue
ratio = TARGET_WIDTH / img.width
new_h = round(img.height * ratio)
resized = img.resize((TARGET_WIDTH, new_h), Image.LANCZOS)
resized.save(path, format="PNG", optimize=True)
after = path.stat().st_size
print(f"[resize] {fname}: {before//1024} KB β†’ {after//1024} KB ({TARGET_WIDTH}px)")
print("[done]")
if __name__ == "__main__":
main()