Définissez une taille maximale. Ensuite, calculez un rapport de redimensionnement en prenant min(maxwidth/width, maxheight/height)
.
La taille appropriée est oldsize*ratio
.
Il existe bien sûr aussi une méthode de bibliothèque pour faire cela : la méthode Image.thumbnail
.
Vous trouverez ci-dessous un exemple (édité) tiré de l Documentation LIP .
import os, sys
import Image
size = 128, 128
for infile in sys.argv[1:]:
outfile = os.path.splitext(infile)[0] + ".thumbnail"
if infile != outfile:
try:
im = Image.open(infile)
im.thumbnail(size, Image.ANTIALIAS)
im.save(outfile, "JPEG")
except IOError:
print "cannot create thumbnail for '%s'" % infile
13 votes
Puisque cette question est assez ancienne mais utile, et que l'oreiller est plutôt préféré, pour un tutoriel basé sur l'oreiller, jetez un œil à ceci : pillow.readthedocs.org/en/latest/handbook/
4 votes
J'ai créé une petite bibliothèque pour le redimensionnement des images, elle peut être d'une quelconque aide : github.com/charlesthk/python-resize-image
0 votes
La dernière sortie de LIP remonte à 2006. Le paquet pillow est le remplacement pour autant que je sache. La dernière version de Pillow date du 2 avril 2020.