#13 use webp instead of jpeg/png
This commit is contained in:
62
convert.py
Normal file
62
convert.py
Normal file
@@ -0,0 +1,62 @@
|
||||
import os
|
||||
from PIL import Image
|
||||
from pathlib import Path
|
||||
|
||||
def convert_debug_images():
|
||||
debug_base = Path('debug_images')
|
||||
images_base = Path('images')
|
||||
|
||||
if not debug_base.exists():
|
||||
print(f"Fehler: {debug_base} existiert nicht")
|
||||
return
|
||||
|
||||
# Alle Unterordner in debug_images durchlaufen
|
||||
for root, dirs, files in os.walk(debug_base):
|
||||
current_dir = Path(root)
|
||||
relative_path = current_dir.relative_to(debug_base)
|
||||
dest_dir = images_base / relative_path
|
||||
|
||||
# Prüfen ob original.png existiert
|
||||
if 'original.png' not in files:
|
||||
continue
|
||||
|
||||
# Zielverzeichnis erstellen
|
||||
dest_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Pfade definieren
|
||||
png_path = current_dir / 'original.png'
|
||||
webp_path = dest_dir / 'original.webp'
|
||||
thumb_path = dest_dir / 'thumbnail.webp'
|
||||
|
||||
try:
|
||||
# Originalbild öffnen und konvertieren
|
||||
with Image.open(png_path) as img:
|
||||
# Konvertierung zu RGB falls notwendig
|
||||
if img.mode in ('RGBA', 'LA'):
|
||||
img = img.convert('RGB')
|
||||
|
||||
# Original als WebP speichern
|
||||
img.save(
|
||||
webp_path,
|
||||
'WEBP',
|
||||
quality=50,
|
||||
method=6 # Qualitätsoptimierung
|
||||
)
|
||||
print(f"Konvertiert: {webp_path}")
|
||||
|
||||
# Thumbnail erstellen
|
||||
img.thumbnail((256, 256), resample=Image.LANCZOS)
|
||||
img.save(
|
||||
thumb_path,
|
||||
'WEBP',
|
||||
quality=50,
|
||||
method=6
|
||||
)
|
||||
print(f"Thumbnail erstellt: {thumb_path}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Fehler bei {png_path}: {str(e)}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
convert_debug_images()
|
||||
print("Konvertierung abgeschlossen")
|
||||
Reference in New Issue
Block a user