diff --git a/README.md b/README.md index ad08026..7caf318 100644 --- a/README.md +++ b/README.md @@ -57,8 +57,8 @@ Preis-Thumbnails). Neue Porträts im selben Format ablegen und in `src/data/salo laufen beim Scrollen seitlich durch, auf dem Handy wird gewischt. Neues Bild: als WebP (900 px breit) in `src/assets/gallery/` ablegen und in `moments` in `Gallery.tsx` eintragen (Titel + Seitenverhältnis). -**Körnung:** Alle Fotos haben einen Filmkorn-Look – Hero fein (Variante A), alle übrigen Fotos wie Film -ISO 800 (Variante B). Die unbearbeiteten Originale liegen in `design/original/`. Neue oder geänderte Fotos +**Körnung:** Alle Fotos haben einen Filmkorn-Look – Hero und Team-Porträts fein (Variante A), Galerie und +Salon-Foto im Menü wie Film ISO 800 (Variante B). Die unbearbeiteten Originale liegen in `design/original/`. Neue oder geänderte Fotos dort ablegen (gleicher Pfad wie in `src/assets/`) und `python3 scripts/grain.py` ausführen – das Skript schreibt die gekörnten Versionen nach `src/assets/`. diff --git a/scripts/grain.py b/scripts/grain.py index 7e9b6bd..e94fe61 100644 --- a/scripts/grain.py +++ b/scripts/grain.py @@ -1,7 +1,8 @@ """Filmkorn auf die Website-Fotos rechnen. Liest die unbearbeiteten Bilder aus design/original/ und schreibt die gekörnten Versionen -nach src/assets/. Hero: Variante A (fein), alle anderen Fotos: Variante B (Film, ISO 800). +nach src/assets/. Hero und Team-Porträts: Variante A (fein), alle anderen Fotos (Galerie, +Salon-Foto im Menü): Variante B (Film, ISO 800). pip install numpy pillow python3 scripts/grain.py @@ -22,7 +23,13 @@ VARIANTS = { 'B': dict(amount=0.028, size=1.5, color=0.15, lift=0.03, contrast=1.05, sat=0.92), } -HERO = {'photos/hero.webp', 'photos/hero-1000.webp', 'photos/hero-mobile.webp'} +FINE = {'photos/hero.webp', 'photos/hero-1000.webp', 'photos/hero-mobile.webp', 'photos/hero-detail.webp'} + + +def variant_for(rel): + return 'A' if rel in FINE or rel.startswith('team/') else 'B' + + LUMA = np.array([0.2126, 0.7152, 0.0722], np.float32) @@ -59,7 +66,7 @@ def grain(img, rng, amount, size, color=0.0, lift=0.0, contrast=1.0, sat=1.0): def main(): for i, src in enumerate(sorted(SRC.rglob('*.webp'))): rel = src.relative_to(SRC).as_posix() - variant = 'A' if rel in HERO else 'B' + variant = variant_for(rel) out = grain(Image.open(src), np.random.default_rng(i + 1), **VARIANTS[variant]) dst = DST / rel out.save(dst, 'WEBP', quality=82, method=6) diff --git a/src/assets/photos/hero-detail.webp b/src/assets/photos/hero-detail.webp index f3f6957..d5c3f57 100644 Binary files a/src/assets/photos/hero-detail.webp and b/src/assets/photos/hero-detail.webp differ diff --git a/src/assets/team/ahmad-thumb.webp b/src/assets/team/ahmad-thumb.webp index d8e3c09..dc10a2f 100644 Binary files a/src/assets/team/ahmad-thumb.webp and b/src/assets/team/ahmad-thumb.webp differ diff --git a/src/assets/team/ahmad.webp b/src/assets/team/ahmad.webp index fee435b..ad75eff 100644 Binary files a/src/assets/team/ahmad.webp and b/src/assets/team/ahmad.webp differ diff --git a/src/assets/team/ali-thumb.webp b/src/assets/team/ali-thumb.webp index a4465a6..3629564 100644 Binary files a/src/assets/team/ali-thumb.webp and b/src/assets/team/ali-thumb.webp differ diff --git a/src/assets/team/ali.webp b/src/assets/team/ali.webp index fc4db68..cfbd86d 100644 Binary files a/src/assets/team/ali.webp and b/src/assets/team/ali.webp differ diff --git a/src/assets/team/amin-thumb.webp b/src/assets/team/amin-thumb.webp index dcd89aa..57bcda0 100644 Binary files a/src/assets/team/amin-thumb.webp and b/src/assets/team/amin-thumb.webp differ diff --git a/src/assets/team/amin.webp b/src/assets/team/amin.webp index d3f02f0..f968052 100644 Binary files a/src/assets/team/amin.webp and b/src/assets/team/amin.webp differ diff --git a/src/assets/team/atena-thumb.webp b/src/assets/team/atena-thumb.webp index 1bcec3c..655f4f1 100644 Binary files a/src/assets/team/atena-thumb.webp and b/src/assets/team/atena-thumb.webp differ diff --git a/src/assets/team/atena.webp b/src/assets/team/atena.webp index d3af236..02c9d3e 100644 Binary files a/src/assets/team/atena.webp and b/src/assets/team/atena.webp differ diff --git a/src/assets/team/mo-thumb.webp b/src/assets/team/mo-thumb.webp index 89a3258..6d88077 100644 Binary files a/src/assets/team/mo-thumb.webp and b/src/assets/team/mo-thumb.webp differ diff --git a/src/assets/team/mo.webp b/src/assets/team/mo.webp index c043b58..8917b96 100644 Binary files a/src/assets/team/mo.webp and b/src/assets/team/mo.webp differ diff --git a/src/assets/team/younes-thumb.webp b/src/assets/team/younes-thumb.webp index babe7fc..de46060 100644 Binary files a/src/assets/team/younes-thumb.webp and b/src/assets/team/younes-thumb.webp differ diff --git a/src/assets/team/younes.webp b/src/assets/team/younes.webp index 1dd5749..7913798 100644 Binary files a/src/assets/team/younes.webp and b/src/assets/team/younes.webp differ