На этом шаге мы рассмотрим некоторые из этих методов.
Произвести различные манипуляции с загруженным изображением позволяют следующие методы:
>>> from PIL import Image >>> img = Image.open("Sample1.jpg") # Открываем файл >>> img2 = img.copy () # Создаем копию >>> img2.show()
Результат
>>> img = Image.open("Sample1.jpg") >>> img.size # Исходные размеры изображения (320, 240) >>> img.thumbnail((160, 120), Image.LANCZOS) >>> img.size # Изменяется само изображение (160, 120) >>> img = Image.open("Sample1.jpg") >>> img.thumbnail((400, 100), Image.LANCZOS) >>> img.size # Размер изменяется пропорционально (133, 100)
>>> img = Image.open("Sample1.jpg") >>> img.size # Исходные размеры изображения (320, 240) >>> img2 = img.resize((160, 120), Image.LANCZOS) >>> img2.size # Пропорциональное уменьшение (160, 120) >>> img3 = img.resize((400, 100), Image.LANCZOS) >>> img3.size # Изображение будет искажен (400, 100)
>>> img = Image.open("Sample1.jpg") >>> img.size # Исходные размеры изображения (320, 240) >>> img2 = img.rotate(90) # Поворот на 90 градусов >>> img2.size (240, 320) >>> img3 = img.rotate (45, Image.NEAREST) >>> img3.size # Размеры сохранены, изображение обрезано (320, 240) >>> img4 = img.rotate (45, expand=True) >>> img4.size # Размеры увеличены, изображение полное (397, 396)
>>> img = Image.open("Sample1.jpg") >>> img2 = img.transpose (Image.FLIP_LEFT_RIGHT) >>> img2.show() # Горизонтальный зеркальный образ
Результат
>>> img3 = img.transpose(Image.FLIP_TOP_BOTTOM)
>>> img3.show() # Вертикальный зеркальный образ
Результат
>>> img4 = img.transpose(Image.ROTATE_90)
>>> img4.show() # Поворот на 90 градусов против часовой стрелки
Результат
>>> img5 = img.transpose(Image.ROTATE_180)
>>> img5.show() # Поворот на 180 градусов
Результат
>>> img6 = img.transpose(Image.ROTATE_270)
>>> img6.show() # Поворот на 270 градусов
Результат
>>> img7 = img.transpose(Image.TRANSPOSE)
>>> img7.show() # Поворот на 90 градусов по часовой стрелке
Результат
На следующем шаге мы закончим изучение этого вопроса.