2015-03-31 197 views
2

resized_image = Image.resize((100,200));如何在调整大小后在python-pillow中获取图像大小?

Image是Python的枕头Image类的,我已经使用了resize功能来调整原始图像,

我如何找到新的文件大小(以字节为单位)的resized_image无必须保存到磁盘然后再次读取它

+0

@OliverW。哦,我意思图像文件大小,如字节 – wolfgang 2015-03-31 12:09:23

回答

0

您不能。 PIL处理内存中的图像操作。无法以特定格式知道磁盘上的大小。

你可以将它保存到一个临时文件和读取使用os.stat('/tmp/tempfile.jpg').st_size

+0

我认为有一种方法可以保存到一个字节计数器,而不是一个文件,但目前我找不到该答案。 – 2015-03-31 13:27:48

3

的文件没有被写入到磁盘的大小。就像对象的文件的伎俩:

from io import BytesIO 

# do something that defines `image`... 
img_file = BytesIO() 
image.save(img_file, 'png') 
print(img_file.tell()) 

打印在保存为PNG格式图像的字节大小,不保存到磁盘上。

+1

您可以使用“BytesIO”的替代方法,它不需要存储输出就可以进行简单计数:http://stackoverflow.com/questions/13407717/python-image-library-how-to-compress-image-into-desired-文件大小 – 2015-04-01 02:56:48