Работа с изображениями
Подписаться на эту рубрику по RSS
Библиотека PIL в операционной системе Windows позволяет сделать снимок экрана (скриншот). Можно получить как полную копию экрана, так и копию определенной прямоугольной области. Для получения копии экрана предназначена функция grab() из модуля ImageGrab. Формат функции:
grab([<Координаты прямоугольной области>])
Если параметр не указан, то возвращается полная копия экрана в виде объекта изображения в режиме RGB. Для получения только определенной области необходимо указать координаты прямоугольника: левого верхнего угла и правого нижнего угла. Пример создания скриншотов приведен ниже.
Библиотека PIL позволяет работать не только с готовыми изображениями, но и создавать изображения. Создать новое изображение позволяет функция new(), функция имеет следующий формат:
new(<Режим>, <Размер>, [, <Цвет фона>])
В параметре <Режим> указывается один из режимов:
1 - 1 бит, черно-белое L - 8 бит, черно-белое P - 8 бит, цветное (256 цветов) RGB - 24 бита, цветное RGBA - 32 бита, цветное с альфа-каналом CMYK - 32 бита, цветное YCbCr - 24 бита, цветное, видеоформат I - 32 бита, целое число, цветное F - 32 бита, вещественное число, цветноеДалее...
В прошлой статье мы узнали как установить библиотеку PIL в Python и начать уже с ней работать. В этой статье мы продолжаем изучение библиотеки PIL. Начиная с версией 1.1.6 метод load() возвращает объект, с помощью которого можно получить доступ к отдельным пикселям изображения. Указав два значения внутри квадратных скобок, можно получить или задать цвет пикселя.
>>> img = Image.open("foto.jpg")
>>> obj = img.load()
>>> obj[25, 45] # Получаем цвет пикселя
(122, 86, 62)
>>> obj[25, 45] = (255, 0, 0) # Задаем цвет пикселя (красный)
Для доступа к отдельному пикселю вместо метода load() можно использовать методы getpixel() и putpixel(). Метод getpixel(<Координаты>) позволяет получить цвет указанного пикселя, а метод putpixel(<Координаты>, <Цвет>) изменяет цвет пикселя. Координаты пикселя указываются в виде кортежа из двух элементов. Необходимо заметить, что эти методы работают медленнее метода load(). Пример использования метода getpixel() и putpixel() приведен ниже.
Для работы с изображениями в Python наиболее часто используют библиотеку PIL (Python Image Library). В этой статье рассмотрим базовые возможности данной библиотеки, применяемые наиболее часто. Для установки библиотеки скачивайте файл PIL-1.2.6.win32-py2.6.exe с официального сайта библиотеки а затем запускайте уже знакомую для вас установку. Процесс установки очень прост и в комментариях не нуждается. Чтобы проверить работоспособность библиотеки и узнать удачно ли она установилась, в окне Python Shell редактора IDLE наберите следующий код.
>>> from PIL import Image
>>> Image.VERSION
'1.1.6'
Если вы получили ответ, не важно если версия библиотеки будет другая, главное получить ответ а не ошибку. Получив версию библиотеки вы можете работать с ней, значит она успешно установилась.
Уже более пяти лет мы продаем подарочную упаковку оптом. Вы можете купить упаковка подарочная по очень хорошим ценам. В каталоге вы найдете сотни видов подарочной упаковки.