Обрезка изображения с помощью подушки Python


Я установил Python Pillow и пытаюсь обрезать изображение.

Другие эффекты работают отлично (например, миниатюра, размытие изображения и т. д.)

Всякий раз, когда я запускаю код ниже, я получаю ошибку:

Плитка не может выходить за пределы изображения

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()

Я использовал пример обрезки, который я нашел для PIL, потому что я не мог найти его для подушки (которая, как я предполагал, будет такой же).

1 16

1 ответ:

Проблема в логике, а не в подушке. Подушка почти на 100% совместима с PIL. Вы создали образ 0 * 0 (left = right & top = bottom) размер. Ни один дисплей не может этого показать. Мой код выглядит следующим образом

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()
Скорее всего, это не то, чего вы хотите, но это должно дать вам четкое представление о том, что должно быть сделано.