2015-03-31 190 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