Python Imaging Library
| Python Imaging Library | |
|---|---|
| Тип | Библиотека для обработки изображений |
| Автор | Fredrik Lundh |
| Разработчик | Secret Labs AB |
| Написана на | Python, Си |
| Дата выпуска | 1995[1] |
| Последняя версия | 1.1.7 (15 ноября 2009[2]) |
| Тестовая версия | 1.2a0[3] (2011) |
| Лицензия | Historical Permission Notice and Disclaimer[1] |
| Сайт | python-pillow.github.io |
| Pillow | |
|---|---|
| Тип | Библиотека для обработки изображений |
| Автор | Jeffrey A. Clark (Alex) |
| Написана на | Python, Си |
| Дата выпуска | 31 июля 2010[1] |
| Последняя версия | 11.1.0 (2 января 2025[4]) |
| Лицензия | Historical Permission Notice and Disclaimer[1] |
| Сайт | python-pillow.github.io |
Python Imaging Library (сокращенно PIL) — библиотека языка Python (версии 2), предназначенная для работы с растровой графикой.
Разработка библиотеки прекращена (последняя правка датируется 2011 годом).[5] Однако проект под названием Pillow[вд], являющийся форком PIL, развивается и включает, в том числе, поддержку Python 3.x.[6] Этот форк был принят в качестве замены оригинальной библиотеки и включён в некоторые дистрибутивы Linux, включая Debian[7] и Ubuntu (с 13.04).[8]
Возможности библиотеки
[править | править код]- поддержка бинарных, полутоновых, индексированных, полноцветных и CMYK изображений;
- поддержка форматов BMP, EPS, GIF, JPEG, PDF, PNG, PNM, TIFF и некоторых других на чтение и запись;
- поддержка множества форматов (ICO, MPEG, PCX, PSD, WMF и др.) только для чтения;
- преобразование изображений из одного формата в другой;
- правка изображений (использование различных фильтров, масштабирование, рисование, матричные операции и т. д.);
- использование библиотеки из Tkinter и PyQt.
Требует наличия библиотек zlib (для PNG), libjpeg, freetype2 (для OpenType/TrueType).
Примеры
[править | править код]
Надпись на цветном фоне можно создать с помощью метода text объекта-изображения. В следующем примере надпись наносится на вновь созданное изображение размером 100 на 50 пикселей:
from PIL import Image, ImageDraw
text = "Hello, PIL!!!"
color = (0, 0, 120)
img = Image.new('RGB', (100, 50), color)
imgDrawer = ImageDraw.Draw(img)
imgDrawer.text((10, 20), text)
img.save("pil-basic-example.png")
Следующий пример конвертирует файлы формата JPEG в формат PNG:
import os
from PIL import Image
def convert_jpegs_to_pngs(folder_path):
# Проверяет, является ли указанный путь папкой
if not os.path.isdir(folder_path):
print(f"Error: {folder_path} is not a valid folder.")
return
# Перебирает все файлы в папке
for filename in os.listdir(folder_path):
# Проверяет, имеет ли файл расширение .jpg или .jpeg
if filename.lower().endswith(".jpg") or filename.lower().endswith(".jpeg"):
# Полный путь к файлу
jpeg_path = os.path.join(folder_path, filename)
# Путь к преобразованному файлу
png_path = os.path.join(folder_path, os.path.splitext(filename)[0] + ".png")
try:
# Открывает изображение JPEG
with Image.open(jpeg_path) as img:
# Преобразует и сохраняет как PNG
img.save(png_path, "PNG")
print(f"Converted {jpeg_path} to {png_path}")
except Exception as e:
print(f"Error converting {jpeg_path}: {e}")
См. также
[править | править код]Литература
[править | править код]- Ninad Sathaye. Python Multimedia. — Packt, 2010. — 292 с. — ISBN 9781849510165.
Примечания
[править | править код]- ↑ 1 2 3 4 Software License. Secret Labs AB. Дата обращения: 8 декабря 2013. Архивировано 20 июля 2020 года.
- ↑ Python Imaging Library. Secret Labs AB. Дата обращения: 8 декабря 2013. Архивировано 21 ноября 2020 года.
- ↑ effbot / pil-2009-raclette. Дата обращения: 8 декабря 2013. Архивировано 15 марта 2015 года.
- ↑ Release Notes. Pillow (PIL Fork) Documentation. Дата обращения: 5 февраля 2025.
- ↑ effbot / pil-2009-raclette. Дата обращения: 8 декабря 2013. Архивировано из оригинала 15 марта 2015 года.
- ↑ Pillow: a modern fork of PIL. Дата обращения: 8 декабря 2013. Архивировано 27 апреля 2016 года.
- ↑ Details of package python-imaging in sid. packages.debian.org. Software in the Public Interest. Дата обращения: 8 декабря 2013. Архивировано 11 декабря 2013 года.
- ↑ Details of package python-imaging in raring. ubuntu.com. Canonical Ltd.. Дата обращения: 8 декабря 2013. Архивировано 14 декабря 2013 года.
Ссылки
[править | править код]- Python Imaging Library (англ.). — домашняя страница проекта. Дата обращения: 26 июня 2012. Архивировано из оригинала 2 апреля 2012 года.
- Ninad Sathaye, Python Image Manipulation (англ.).