GAE上で画像を弄りたいという事でPILを触ってみました。ドキュメントを見る限りかなり多機能ですが、とりあえず一般的な処理を試してみました。楽チンですね。
#!/usr/bin/python # -*- coding: utf-8 -*- import Image import ImageFilter # ロードしてjpegへ image = Image.open('lena.ppm') print image.format, image.size image.save('lena.jpg', 'JPEG') # リサイズしてPNGへ small = image.resize([128, 128]) small.save('thumbnail.png', 'PNG') # 回転してBMPへ rotate = image.rotate(45) rotate.save('rotate45.bmp', 'BMP') # 上下反転してGIFへ upsideDown = image.transpose(Image.FLIP_TOP_BOTTOM) upsideDown.save('upside_down.gif', 'GIF') # フィルタ処理してTIFFへ filtered = image.filter(ImageFilter.DETAIL) filtered.save('filtered.tiff', 'TIFF')
各種フォーマットへの対応が凄く便利で、web上というよりは手元でちょっと画像弄るような処理がとてもし易いですね。あと話がずれますが、変換等の確認にImageMagickのdisplayとidentifyコマンドが便利です。displayは画像の表示、identifyは画像の情報取得をそれぞれターミナルから行えます。
関連する記事
タグ: helloworld, pil, python

