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

Было бы здорово, если бы фон у картинки с усами был прозрачным. О, вот

и упражнение для вас! Если вы хотите этим заняться, поищите информацию о про-

зрачности (transparency) и альфа-канале (alpha channel) в руководстве в Pillow

(http://bit.ly/pil-fork).

ImageMagick

ImageMagick (http://www.imagemagick.org/) — это комплект программ для кон-

вертирования, изменения и отображения двухмерных изображений. Он суще-

ствует более 20 лет. Различные библиотеки Python подключены к библиотеке

ImageMagick, написанной на С. Самая недавняя из них, поддерживающая Python 3,

называется wand (http://docs.wand-py.org/). Для того чтобы установить ее, введите

следующую команду:

$ pip install Wand

С помощью wand вы можете делать примерно то же, что и с помощью Pillow:

>>> from wand.image import Image

>>> from wand.display import display

>>>

>>> img = Image(filename='oreilly.png')

>>> img.size

(154, 141)

>>> img.format

'PNG'

Как и в случае с Pillow, эта строка отобразит изображение на экране:

>>> display(img)

wand позволяет вам поворачивать изображение, изменять его размер, писать

текст, рисовать линии и многое другое, что вы можете найти и в Pillow. Оба этих

пакета имеют хорошие API и документацию.

Графические пользовательские

интерфейсы (Graphical User

Interface, GUI)

Название содержит слово «графический», но GUI концентрируется скорее на поль-

зовательском интерфейсе: виджетах для представления данных, методах ввода,

меню, кнопках и окнах.

Страница «Википедии» GUI programming (http://bit.ly/gui-program) и список часто

задаваемых вопросов (http://bit.ly/gui-faq) содержат множество примеров GUI, соз-

данных с помощью Python. Начнем с единственного встроенного в стандартную

Графические пользовательские интерфейсы (Graphical User Interface, GUI)

387

библиотеку примера — Tkinter (https://wiki.python.org/moin/TkInter). Он прост, но

работает на всех платформах и создает естественно выглядящие окна и виджеты.

Рассмотрим небольшую программу, где используется Tkinter, она отображает

наш любимый талисман в отдельном окне:

>>> import tkinter

>>> from PIL import Image, ImageTk

>>>

>>> main = tkinter.Tk()

>>> img = Image.open('oreilly.png')

>>> tkimg = ImageTk.PhotoImage(img)

>>> tkinter.Label(main, image=tkimg).pack()

>>> main.mainloop()