web-dev-qa-db-fra.com

Recadrer une image avec Python Pillow

J'ai installé Python Pillow et j'essaie de recadrer une image.

D'autres effets fonctionnent très bien (par exemple, vignette, image floue, etc.)

Chaque fois que j'exécute le code ci-dessous, j'obtiens l'erreur:

la tuile ne peut pas s'étendre à l'extérieur de l'image

test_image = test_media.file
original = Image.open(test_image)

width, height = original.size   # Get dimensions
left = width/2
top = height/2
right = width/2
bottom = height/2
cropped_example = original.crop((left, top, right, bottom))

cropped_example.show()

J'ai utilisé un exemple de recadrage que j'ai trouvé pour PIL , parce que je n'ai pas pu en trouver un pour Pillow (qui, je suppose, serait le même).

25
bbrooke

Le problème est avec la logique, pas avec Pillow. L'oreiller est compatible à 100% avec PIL. Vous avez créé une image de 0 * 0 (left = right & top = bottom) Taille. Aucun affichage ne peut le montrer. Mon code est le suivant

from PIL import Image

test_image = "Fedora_19_with_GNOME.jpg"
original = Image.open(test_image)
original.show()

width, height = original.size   # Get dimensions
left = width/4
top = height/4
right = 3 * width/4
bottom = 3 * height/4
cropped_example = original.crop((left, top, right, bottom))

cropped_example.show()

Ce n'est probablement pas ce que vous voulez, mais cela devrait vous donner une idée claire de ce qui devrait être fait.

51
rafee