Mit dem folgenden Python Skript werden Bilder in einem Ordner auf die Größe untersucht. Im zweiten Schritt werden die Bilder, die eine vorher festgelegte Größe überschreiten verkleinert und dann in einem extra Ordner mit neuer Größe gespeichert.
Skipt:
import os
from PIL import Image
#Sorgt dafür, dass in der Konsole, die Größe abgefragt wird
SQUARE_FIT_SIZE = int(input(" Größe eingeben : "))
NEW_FOLDER_NAME = input("Ordner für die neuen Bilder : ")
os.makedirs(NEW_FOLDER_NAME, exist_ok=True)
for filename in os.listdir('.'):
if not (filename.endswith('.png') or filename.endswith('.jpg')):
continue
im = Image.open(filename)
width, height = im.size
# Hier wird geprüft ob die Bildergrößen angepasst werden müssen
if width > SQUARE_FIT_SIZE and height > SQUARE_FIT_SIZE:
# Hier wird die neue Höhe und Breite berechnet
if width > height:
height = int((SQUARE_FIT_SIZE / width) * height)
width = SQUARE_FIT_SIZE
else:
width = int((SQUARE_FIT_SIZE / height) * width)
height = SQUARE_FIT_SIZE
print('Resizing %s...' % (filename))
im = im.resize((width, height))
im.save(os.path.join(NEW_FOLDER_NAME, filename))
print('Fertig')