PILで画像反転

pycturesに追加した右回転用のアイコンを、画像ツールで作らないでPILでやってみた。

>>> from PIL import Image
>>> im = Image.open("/root/pyctures-0.20/website/static/images/rotate.gif")
>>> import ImageOps
>>> im2 = ImageOps.mirror(im)
>>> im2.save("/root/pyctures-0.20/website/static/images/rotater.gif", "GIF")

確かにPILって面白いよな。
コマンドで画像の制御が簡単にできるもの。


あれ、できたけど透過GIFじゃなくなっているや...

>>> im2.save("/root/pyctures-0.20/website/static/images/rotater.gif", "GIF", transparency=
1, optimize=1)

これでいいの?
あれ、これはパレットの透過性オプションなのか。
色が薄くなったというかなくなったな...


ファイルヘッダを操作するには、Imageのインスタンスじゃダメで、ファイルオブジェクトじゃないとダメそげだな。

>>> im2.write(['GIF87a', 'GIF89a'])
>>> im2.write(chr(transparency)+chr(0x00))

とかしたかったのだけど。


infoってのがあるな。

>>> im2.save('/root/pyctures-0.20/website/static/images/rotater.gif', transparency=im.info["transparency"])

こんなんでいいのかな?
できたみたい。
同じ絵なので反転しても、透過色は変更なしだろうという予測に基づいています。
ちなみに、im.info["transparency"]の値は63だった。


ここは便利だ。
http://nagosui.org/Nagosui/Misc/python-personal/doc/python-imaging-library-tutorial