私は画像生成にピルメモリ内の文字列に保存するにはどうすればいいでしょうか? このImage.save()
メソッドにはファイルが必要です。
このような画像をいくつか辞書に保存しておきたいと思います。
ベストアンサー1
あなたはBytesIO
クラスを使用すると、ファイルのように動作する文字列のラッパーを取得できます。オブジェクトはBytesIO
ファイルと同じインターフェイスを提供しますが、内容をメモリ内にのみ保存します。
import io
with io.BytesIO() as output:
image.save(output, format="GIF")
contents = output.getvalue()
パラメータを使用して出力形式を明示的に指定する必要がありますformat
。そうしないと、PIL は自動的に検出しようとしたときにエラーを発生させます。
ファイルから画像を読み込んだ場合は、format
プロパティには元のファイル形式が含まれているため、この場合は を使用できますformat=image.format
。
io
モジュールが導入される前の古いPython 2バージョンでは、StringIO
代わりにモジュールを使用します。