Réduire la taille d'une image avec PIL


Avec PIL il est possible de réduire facilement la taille d'une image. Dans l'exemple ci-dessous la taille de l'image (input.png) est de 3.6 MB en utilisant la méthode 'resize' de PIL et en divisant par 2 les dimensions correspondantes à la largeur et à la hauteur de l'image (int(foo_size[0]/2.0),int(foo_size[1]/2.0) puis en sauvegardant l'image redimensionne avec la méthode 'save' avec l'argument quality=95, on obtient ici en sortie une image de taille 509KB:

input.png (taille 3.6 MB)

>>> import Image
>>> foo = Image.open("input.png")
>>> foo.size
(2156, 1798)
>>> foo_size = foo.size
>>> foo = foo.resize((int(foo_size[0]/2.0),int(foo_size[1]/2.0)),Image.ANTIALIAS)
>>> foo.save("output.jpg",quality=95)

Recherches associées

Image

of