GAE にて PIL 画像加工用処理は動作せず
先日、Google App Engine(GAE) にて gif や png 画像のピクセルデータを解析するために、Python Imaging Library を丸ごと任意のフォルダに配置して利用することにしました。
Python + SWFバイナリ解析 その3 : gif 埋め込み
Python + SWFバイナリ解析 その4 : パレット形式の png 埋め込み
上記処理では問題なく動作したので、今度は画像を加工する各メソッドを利用してみようと試してみたものの、エラーが表示され動作せず。
pylib.another.pil ディレクトリに PIL 関連ファイル一式を配置し 以下のコードを記述
import pylib.another.pil.Image as pil pil.new("RGB", (100, 100))
表示されるエラー
ImportError: The _imaging C module is not installed
この問題は解決できそうもないので、GAE にてサーバ側で画像の加工を行うためには、正式にサポートされている google.appengine.api.images モジュールを用いることになりそうです。
http://code.google.com/intl/ja/appengine/docs/python/images/imageclass.html
二つの画像を合成する処理等ないため、やや予定を変更しなくてはならず。
追記)
composite 関数があったため画像合成に関しては解決しました。
http://code.google.com/intl/ja/appengine/docs/python/images/functions.html
追記2)
すみません、再度検証してみたところ、GAE 上での PIL によるピクセルデータ解析も利用不可でした。
よって GAE 上での GIF と PNG のピクセルデータ解析は PIL を用いず別途手段で実現するしかなさそうです。
これは困った。
追記3)
png のピクセル値解析は pypng で解決できそうです。GAE 上でも pypng による png ファイルのピクセル値読み取り動作確認済み。
http://code.google.com/p/pypng/
gif に関しては pygif というものを見つけましたが、ライセンスうんぬん等 まだ未調査です。