1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| from PIL import Image, ImageEnhance
def redimphoto(ficsrce, ficdest="", maxh=1920, maxv=1080):
"""Redimensionne l'image ficsrce pour ne pas dépasser maxh pixels
horizontaux ni maxv pixels verticaux, sans changer le ratio h/v
Enregistre le résultat dans ficdest (si "" => dans ficsrce)
Les fichiers sont donnés avec leurs chemins.
"""
img = Image.open(ficsrce)
dim_h, dim_v = img.size
ratio = dim_h/dim_v
taille_h = maxh
taille_v = int(taille_h/ratio)
if taille_v>maxv:
taille_v = maxv
taille_h = int(ratio*taille_v)
img = img.resize((taille_h, taille_v), Image.ANTIALIAS)
ficdest = ficsrce if ficdest=="" else ficdest
img.save(ficdest) |