Image Resizer: Bilder automatisch optimieren & verkleinern

Batch-Resize, WebP-Konvertierung & Komprimierung — alles per Python

Python Pillow WebP JPEG/PNG

🖼️ Ihre Bilder. Automatisch optimiert. Heute.

📞 02406 803 7603 ✉️ info@computerkumpel.de

📸 Warum automatisierte Bildoptimierung?

Unoptimierte Bilder sind der Hauptgrund für langsame Webseiten. Ein durchschnittliches Handy-Foto ist 4–12 MB groß — als WebP sind es nur noch 80–200 KB bei gleicher Qualität. Das Tool reduziert Bildgrößen um bis zu 95%.

Bis zu 95% kleiner
WebP-Konvertierung + smarte Komprimierung. 4 MB → 150 KB ohne sichtbaren Qualitätsverlust.
📂
Batch-Verarbeitung
Ganzen Ordner mit 1.000+ Bildern auf einmal verarbeiten. Rekursiv in Unterordner.
📐
Responsive Sizes
Automatisch Thumbnail, Medium & Full-Size generieren. Perfekt für responsive Webdesign.
🎨
Wasserzeichen
Optionaler Wasserzeichen-Overlay. Copyright-Schutz automatisch.

🛠️ Funktionen im Detail

📏 Resize (Breite/Höhe)
Feste Pixelmaße oder prozentuale Skalierung. Seitenverhältnis optional beibehalten.
🔄 Format-Konvertierung
JPEG → WebP, PNG → WebP, HEIC → JPEG. Beliebiges Ausgabeformat wählbar.
🗜️ Qualitätseinstellungen
JPEG-Qualität 1–100, WebP-Qualität, PNG-Komprimierungsstufe. Feintuning möglich.
✂️ Smart Crop
Zentriertes Zuschneiden auf exakte Maße. Erkennung des Bildmittelpunkts.

💻 Der Resizer-Kern mit Pillow

from PIL import Image
from pathlib import Path

class ImageResizer:
    """Batch-Bildoptimierung mit Pillow."""
    
    PRESETS = {
        'thumbnail': (150, 150),
        'small': (480, None),
        'medium': (768, None),
        'large': (1200, None),
        'full': (1920, None),
    }
    
    def __init__(self, quality: int = 85, format: str = 'webp'):
        self.quality = quality
        self.format = format.lower()
        self.stats = {'processed': 0, 'errors': 0, 'saved_mb': 0}
    
    def process_folder(self, input_dir: Path, output_dir: Path,
                       size: tuple = None, recursive: bool = True):
        for img_path in input_dir.rglob('*' if recursive else '*'):
            if img_path.suffix.lower() in ('.jpg', '.jpeg', '.png', '.webp', '.bmp'):
                try:
                    result = self._process_image(img_path, output_dir, size)
                    self.stats['processed'] += 1
                    self.stats['saved_mb'] += result['saved_mb']
                except Exception as e:
                    self.stats['errors'] += 1
                    print(f"Fehler bei {img_path}: {e}")
        
        return self.stats
    
    def generate_responsive(self, img_path: Path, output_dir: Path):
        """Generiert mehrere Größen für responsive Nutzung."""
        results = {}
        for name, size in self.PRESETS.items():
            sub_dir = output_dir / name
            sub_dir.mkdir(parents=True, exist_ok=True)
            results[name] = self._process_image(img_path, sub_dir, size)
        return results
    
    def _process_image(self, img_path: Path, output_dir: Path, size=None):
        original_size = img_path.stat().st_size
        
        with Image.open(img_path) as img:
            # EXIF-Rotation korrigieren
            img = self._auto_rotate(img)
            
            # Größe anpassen
            if size:
                img = self._resize_keep_ratio(img, size[0], size[1])
            
            # Ausgabe-Pfad
            out_name = f"{img_path.stem}.{self.format}"
            out_path = output_dir / out_name
            output_dir.mkdir(parents=True, exist_ok=True)
            
            # Speichern mit Optimierung
            save_kwargs = {'quality': self.quality, 'optimize': True}
            if self.format == 'png':
                save_kwargs['compress_level'] = 6
            
            img.save(out_path, format=self.format.upper(), **save_kwargs)
        
        new_size = out_path.stat().st_size
        return {'output': out_path, 'saved_mb': (original_size - new_size) / 1e6}

⚡ Webseite 3× schneller durch optimierte Bilder.

📞 02406 803 7603 ✉️ info@computerkumpel.de

Bildoptimierung, die Ihre Webseite beschleunigt.

Von der einmaligen Optimierung bis zur automatisierten Pipeline.

🔍
Bild-Audit
Analyse aller Bilder Ihrer Webseite mit Optimierungspotenzial.
⚙️
Batch-Optimierung
Alle Bilder auf einmal optimiert — inkl. responsive Varianten.
🔄
CI/CD-Pipeline
Automatische Bildoptimierung bei jedem Upload — nie wieder manuell.
📞 02406 803 7603 ✉️ info@computerkumpel.de