PIL 1.1.6

Python Imaging Libraryこと、PIL。
画像をいじったりできるアレです。

http://www.pythonware.com/products/pil/

さらーっとドキュメントを見た感じだと、いろいろできそうです。
ReviewBoardの必須モジュールになっていたりとPythonで画像扱う場合は有名なんでしょうか?

画像を正方形に切り出して縮小してJpegで保存するような処理を適当に書いてみるとこんな感じ。


import sys
import Image

src = Image.open('test.bmp')
if src.size[0] > src.size[1]:
delta = src.size[0] - src.size[1]
box = (delta / 2, 0, (src.size[0] - delta / 2), src.size[1])
elif src.size[1] > src.size[0]:
delta = src.size[1] - src.size[0]
box = (0, delta / 2, src.size[0], (src.size[1] - delta / 2))
else:
box = (0, 0, src.size[0], src.size[1])

try:
src.crop(box).resize( (300,300) ).save('out.jpg')
except IOError:
sys.exit(1)

sys.exit()

GIMPで同じように縮小して、クオリティ50%で保存したJpegと比較してみるとちょっと文字とかがつぶれすぎな印象。時間があるときにもうちょっと使ってみよう。