2013-10-12 113 views
1

如何從內存 pygame.image大小(單位爲KB /字節)得到什麼?不幸的是,檢查表面的大小沒有直接的方法。pygame的圖像大小爲KB(不是以像素爲單位)

對於測試,我有2個文件(39KB和1.9MB)

aa = pygame.image.load(filename).convert_alpha() 
bb = pygame.image.load(filename2).convert_alpha() 
print sys.getsizeof(aa) 
print sys.getsizeof(bb) 

結果:

64 
64 

這是(可能)可變大小,而不是存儲的圖像。 我想出的唯一的事情的toString:

print "Size %d" % sys.getsizeof(pygame.image.tostring(aa, "RGBA")) 
print "Size %d" % sys.getsizeof(pygame.image.tostring(bb, "RGBA")) 

,並得到:

Size 637 
Size 39923749 

38MB?奇怪而不準確。如何檢查真實內存使用情況

BR Parasit

回答

0

使用OS:

import os 
print os.stat('image.jpg').st_size 

,如果你想獲得個人所得稅的內存,而不是文件的大小,這將在字節

打印圖像的大小嚐試:

aa = pygame.image.load(filename).convert_alpha() 
print aa.nbytes 
+0

我需要內存使用,但對不起,它不工作: AttributeError的: 'pygame.Surface' 對象沒有屬性「爲nbytes – parasit

+0

參見[Surface.get_bytesize](http://www.pygame.org/docs/ref/surface.html#Surface.get_bytesize) – ninMonkey

相關問題