Pygame显示图像,同时真正的循环内存问题

时间:2018-01-03 19:22:57

标签: python memory-management pygame

我有一张不断变化的照片。我想在pygame中呈现这些内容,就像视频一样。内存已满,不会被释放。错误在哪里?

def showLive(file):
   picture = pygame.transform.scale(pygame.image.load(file),(width,high))
   main_surface.blit(picture, (0, 0))
   pygame.display.flip()

while True:
   #takePicture take always a new picture
   takePicture("test.jpeg") 
   showLive("test.jpeg")

非常感谢。

更新:04.01.2018

我使用https://github.com/alexdu/piggyphoto。从我的dslr进行预览。

当我启动程序时,我会看到“实时视图”。记忆越来越丰富。大约8分钟后,它在Raspberry Pi 3b上已经满了。

import piggyphoto, pygame

def showLive(file):
   C.capture_preview(file)
   picture = pygame.transform.scale(pygame.image.load(file),(width,high))
   display.blit(picture, (0, 0))
   pygame.display.flip()

width = 1275
high = 850
file = 'preview.jpg'

C = piggyphoto.camera()
C.leave_locked()
C.capture_preview(file)

global display
pygame.init()
picture = pygame.image.load(file)
display = pygame.display.set_mode((width,high),pygame.FULLSCREEN)
pygame.mouse.set_visible(False)

while True:
   showLive(file)

1 个答案:

答案 0 :(得分:1)

我有解决方案。

https://github.com/alexdu/piggyphoto/issues/2

s=self.cam.capture_preview()
s.save('/tmp/preview.jpg')
s.clean()