Obsługa grafiki za pomocą Python imaging library (PIL)

Python Imaging Library to obecnie jedyny zaawansowany i stabilny moduł do obróbki grafiki dla Pythona. Za jego pomocą można zrobić praktycznie wszystko - od miniaturek, po nakładanie filtrów, obracanie, przycinanie grafik. Dokumentacja (PDF) jest dostępna pod tym odnośnikiem. Oto prosty przykład:
import Image
im = Image.open("foto.jpg")
# dane o grafice
print im.format, im.size, im.mode
# wyświetla grafikę za pomocą xv
im.show()

Tworzenie miniaturek

import Image
im = Image.open("foto.jpg")
# tworzymy miniaturę o długości i wysokości
im.thumbnail((128, 128))
# zapisujemy do pliku
im.save('maly.jpg', "JPEG")
import Image
im = Image.open("foto.jpg")
# tworzymy miniaturę o długości i wysokości
im.resize((128, 128))
# zapisujemy do pliku
im.save('maly.jpg', "JPEG")
Metoda thumbnail stworzy miniaturę, lecz zachowa proporcję, więc w przypadku podania rozmiaru łamiącego proporcje otrzymamy miniaturę o nieco innych wymiarach.

Obracanie grafik

import Image
im = Image.open("foto.jpg")
# przekręcamy o podaną ilość stopni i wyświetlamy
im.rotate(45).show()

Nakładanie filtrów

import Image
import ImageFilter

im = Image.open("foto.jpg")
im.filter(ImageFilter.BLUR).show()
Możliwe filtry to: BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE, EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE i SHARPEN.

Przekształcanie w odcienie szarości

import Image
import ImageOps

im = Image.open("foto.jpg")
ImageOps.grayscale(im).show()
RkBlog

Podstawy Pythona, 14 July 2008

Comment article
Comment article RkBlog main page Search RSS Contact