具体的には、私はDjango ImageFieldを通してアップロードされた画像のファイルタイプを変更したいと思います。メモリ内ファイルからPILイメージを作成するにはどうすればよいですか?
私の現在の考えは、カスタムImageFieldを作成し、saveメソッドを上書きしてファイルを操作することです。
PIL Imageインスタンスが原因でメモリファイルを取得できませんでした。
ありがとうございました。
具体的には、私はDjango ImageFieldを通してアップロードされた画像のファイルタイプを変更したいと思います。メモリ内ファイルからPILイメージを作成するにはどうすればよいですか?
私の現在の考えは、カスタムImageFieldを作成し、saveメソッドを上書きしてファイルを操作することです。
PIL Imageインスタンスが原因でメモリファイルを取得できませんでした。
ありがとうございました。
ノートを参照してください。これは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を参照してください。
StringIOを試しましたか?
は、DjangoのImageField
はFieldFile
からopen
メソッドを継承するドキュメントhttp://effbot.org/imagingbook/introduction.htm#more-on-reading-images
#Reading from a string
import StringIO
im = Image.open(StringIO.StringIO(buffer))
ただそれを実現しました。ありがとう。 – Zach
'stream.close()'はファイルへの参照をダンプしますか? 'stream.thumbnail(200x200、 'png')'を実行したければ、 'stream.close()'をどのように管理すればいいですか? – tutuca
openはここでは「None」を返しますhttp://dpaste.de/HqFCF/ ... – tutuca