2011-01-07 17 views
9

具体的には、私はDjango ImageFieldを通してアップロードされた画像のファイルタイプを変更したいと思います。メモリ内ファイルからPILイメージを作成するにはどうすればよいですか?

私の現在の考えは、カスタムImageFieldを作成し、saveメソッドを上書きしてファイルを操作することです。

PIL Imageインスタンスが原因でメモリファイルを取得できませんでした。

ありがとうございました。

答えて

11

ノートを参照してください。これはPILのImage.open(画像ストリームからImageオブジェクトを作成するための標準的なファクトリメソッド)に渡すことができるストリーム・オブジェクトを返す:

stream = imagefield.open() 
image = Image.open(stream) 
stream.close() 
# ... and then save image with: image.save(outfile, format, options) 

PIL Image documentationを参照してください。

+1

ただそれを実現しました。ありがとう。 – Zach

+0

'stream.close()'はファイルへの参照をダンプしますか? 'stream.thumbnail(200x200、 'png')'を実行したければ、 'stream.close()'をどのように管理すればいいですか? – tutuca

+1

openはここでは「None」を返しますhttp://dpaste.de/HqFCF/ ... – tutuca

関連する問題