この画像 サイズが128 x 128ピクセルで、RGBAがメモリにバイト値として保存されています。しかし
from PIL import Image
image_data = ... # byte values of the image
image = Image.frombytes('RGBA', (128,128), image_data)
image.show()
例外をスローします
ValueError:画像データが不足しています
どうして?何が間違っていますか?
これを試すことができます:
image = Image.frombytes('RGBA', (128,128), image_data, 'raw')
ソースコード:def frombytes(mode, size, data, decoder_name="raw", *args): param mode: The image mode. param size: The image size. param data: A byte buffer containing raw data for the given mode. param decoder_name: What decoder to use.
Image.open
は、ファイルのようなオブジェクトを受け入れることができることを示しているため、io.BytesIO
エンコードされた画像を含むbytes
オブジェクトから作成されたオブジェクト:
from PIL import Image
import io
image_data = ... # byte values of the image
image = Image.open(io.BytesIO(image_data))
image.show()