Обработка и генерация изображений в Python. Библиотека Pillow

Нередко нам нужно изменить размер картинки, кропнуть ее, наложить текст и так далее. Все это можно автоматизировать с помощью Python и библиотеки Pillow.

Установка Pillow

Установка производится через pip3. Вводим в консоль:

pip3 install pillow

Начало работы с библиотекой

Для начала нам нужно инициализировать библиотеку в нашем скрипте:

from PIL import Image

В папку со скриптом поместим произвольное изображение. Файл назовем test.jpg”Pillow Python” src=”/media/articles/0001/07/thumb_6002_articles_standart.jpeg” />

Для просмотра основной информации об изображении с помощью Pillow используем следующие методы: 

from PIL import Image
img = Image.open('test.jpg"Фото в Pillow Python" src="/media/articles/0001/07/thumb_6003_articles_standart.png" />

Поворот изображений

С помощью метода Image.rotate() мы можем поворачивать изображение как нам угодно. В скобках указываем количество градусов, на которое нужно повернуть изображение. Рассмотрим на примере:

from PIL import Image
img = Image.open('test.jpg"Поворот изображений в Pillow Python" src="/media/articles/0001/07/thumb_6004_articles_standart.png" />

Конвертируем из.jpg"Кроп в Pillow Python" src="/media/articles/0001/07/thumb_6006_articles_standart.png" />

Пишем текст на изображениях

Для наложения текста на изображение в Pillow существует метод text(), но для начала нужно добавить шрифт. Рассмотрим на примере:

from PIL import Image, ImageDraw, ImageFont
img = Image.open('test.jpg"arial.ttf", size=20)
idraw = ImageDraw.Draw(img)
idraw.text((25, 25), 'TEST test TeSt', font=font)
img.save('test_text.jpg"Текст на изображении - Pillow Python" src="/media/articles/0001/07/thumb_6007_articles_standart.png" />

Генерация пустого изображения

Для создания пустого холста (изображения) используем метод Image.new(). Рассмотрим на примере:

from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (200, 200), 'black')
img.save('test1.jpg"Работа с Pillow Python" src="/media/articles/0001/07/thumb_6008_articles_standart.png" />

Теперь давайте нарисуем на этом квадрате белый прямоугольник:

from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (200, 200), 'black')
idraw = ImageDraw.Draw(img)
idraw.rectangle((0, 0, 100, 100), fill='white')
img.save('test1.jpg"Рисование в Pillow Python" src="/media/articles/0001/07/thumb_6009_articles_standart.png" />

Вывод

Мы разобрали основные методы библиотеки Pillow в Python: научились писать текст на изображениях, изменять размер, поворачивать их и даже обрезать.

Надеюсь, статья была полезна для вас. Удачи!

Межтекстовые Отзывы
Посмотреть все комментарии
guest