2024-05-21 23:37:41 发布
网友
我想从原始数据创建一个PIL图像。我想我应该用PIL.Image.frombytes。但它有一个size参数。我不知道图像的大小,这不是应该作为图像的一部分吗?我不知道图像的大小。我应该如何调用没有大小的函数?
PIL.Image.frombytes
size
既然您澄清了不想读取原始像素数据,而是在内存图像文件中读取,那么解决方案就很清楚了:不要使用frombytes-它是针对原始像素数据的。使用从StringIO打开:
frombytes
StringIO
image = Image.open(StringIO.StringIO(image_data))
参数size必须与未在原始像素缓冲区中编码的图像尺寸匹配(例如,长度n的缓冲区可以表示k×m像素的k>,m>;0,k×m=n的任何网格)。你必须事先知道这个尺寸。
演示tobytes和frombytes的一些示例代码:
tobytes
>>> img = PIL.Image.open("some_image.png") >>> img.size (482, 295) >>> raw = img.tobytes() >>> img2 = PIL.Image.frombytes(img.mode, img.size, raw)
既然您澄清了不想读取原始像素数据,而是在内存图像文件中读取,那么解决方案就很清楚了:不要使用
frombytes
-它是针对原始像素数据的。使用从StringIO
打开:参数n的缓冲区可以表示k×m像素的k>,m>;0,k×m=n的任何网格)。你必须事先知道这个尺寸。
size
必须与未在原始像素缓冲区中编码的图像尺寸匹配(例如,长度演示
tobytes
和frombytes
的一些示例代码:相关问题 更多 >
编程相关推荐