Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 299

>>> img.show()

Изображение, показанное на рис. A.1, открывается в другом окне. (Этот

снимок экрана был сделан на компьютере Mac, где функция show() используется

384

Приложение А. Пи-Арт

для приложения предварительного просмотра изображений. Отображение ваших

окон может быть иным.)

Рис. A.1. Изображение, открытое с помощью библиотеки Python

Обрежем изображение в памяти, сохраним результат как новый объект с именем

img2 и отобразим его.

Изображения всегда измеряются в горизонтальных (х) и вертикальных (у)

значениях, один из углов изображения называется стартовой точкой, его значения

х и у равны 0. В этой библиотеке origin(0, 0) находится в левом верхнем углу изо-

бражения, х увеличивается при смещении вправо, а у увеличивается при смещении

вниз. Мы хотим задать значения левого края х (55), верхнего края у (70), правого

края х (85) и нижнего края у (100) для метода crop(), поэтому передаем кортеж,

содержащий эти значения в соответствующем порядке:

>>> crop = (55, 70, 85, 100)

>>> img2 = img.crop(crop)

>>> img2.show()

Результат показан на рис. А.2.

Сохраним изображение с помощью метода save(). Он принимает имя файла

и опциональный путь. Если имя файла имеет суффикс, библиотека использует его,

чтобы определить тип. Но вы также можете указать тип файла явно. Для того что-

бы сохранить изображение с расширением GIF, сделайте следующее:

>>> img2.save('cropped.gif', 'GIF')

>>> img3 = Image.open('cropped.gif')

>>> img3.format

'GIF'

>>> img3.size

(30, 30)

2D-графика

385

Рис. A.2. Обрезанное изображение

«Улучшим» наш маленький талисман. Сначала загрузим изображение усов

(http://bit.ly/moustaches-png) и сохраним его в файл moustaches.png. Мы загрузим его,

обрежем соответствующим образом, а затем наложим на нашу зверушку:

>>> mustache = Image.open('moustaches.png')

>>> handlebar = mustache.crop((316, 282, 394, 310))

>>> handlebar.size

(78, 28)

>>> img.paste(handlebar, (45, 90) )

>>> img.show()

На рис. А.3 показан подходящий результат.

Рис. A.3. Наш новый опрятный талисман

386

Приложение А. Пи-Арт