import os from PIL import Image, ImageFilter, ImageEnhance def create_realistic_wallpaper(stadion_path, flieger_path, output_path): if not os.path.exists(stadion_path) or not os.path.exists(flieger_path): print("Fehler: Bitte lege 'stadion.jpg' und 'bvb_flieger.png' in den Ordner!") return # 1. Bilder laden stadion = Image.open(stadion_path).convert("RGBA") flieger = Image.open(flieger_path).convert("RGBA") # 2. Proportionen für ein perfektes Hintergrundbild (z.B. 16:9 oder Smartphone) # Wir passen die Größe des Fliegers realistisch an das Stadion an (nicht zu riesig) target_width = int(stadion.width * 0.35) # Flieger nimmt ca. 35% der Stadionbreite ein aspect_ratio = flieger.height / flieger.width target_height = int(target_width * aspect_ratio) flieger = flieger.resize((target_width, target_height), Image.Resampling.LANCZOS) # 3. Realismus-Filter 1: Leichte Bewegungs- oder Tiefenunschärfe für das Stadion # Dadurch rückt der Flieger optisch in den Fokus der Kamera stadion_blurred = stadion.filter(ImageFilter.GaussianBlur(radius=1.5)) # 4. Realismus-Filter 2: Farbanpassung des Flugzeugs # Passagiermaschinen wirken in großer Höhe durch die Luftschichten oft minimal kontrastärmer enhancer_contrast = ImageEnhance.Contrast(flieger) flieger = enhancer_contrast.enhance(0.9) # Kontrast leicht senken für atmosphärische Tiefe enhancer_brightness = ImageEnhance.Brightness(flieger) flieger = enhancer_brightness.enhance(1.05) # Leicht aufhellen, da der Himmel reflektiert # 5. Voir plus