退出pygame时不要清除帧缓冲区

时间:2016-07-14 23:48:50

标签: python pygame

我写了一个小脚本,通过用pygame写入帧缓冲区,在USB显示器上显示专辑封面(在Raspberry Pi上)。脚本工作正常,专辑封面显示在屏幕上3秒钟:

def set_image(image):
    """ Set the USB display image using pygame (320px x 240px) """
    pygame.display.init()
    size = (pygame.display.Info().current_w, pygame.display.Info().current_h)
    black = 0, 0, 0
    screen = pygame.display.set_mode(size)
    pygame.mouse.set_visible(False)
    pygame_image = pygame.image.fromstring(image.tobytes(), image.size, image.mode)
    pygame_image_rect = pygame_image.get_rect()
    screen.fill(black)
    screen.blit(pygame_image, (40, 0))
    pygame.font.init()
    pygame.display.update()
    time.sleep(3)

问题是当脚本完成时,pygame(正确)清除帧缓冲区并且我的图像消失。有没有办法告诉它在退出时留下帧缓冲的内容?

1 个答案:

答案 0 :(得分:0)

你在调用pygame.quit吗?

一般而言:   - 不要运行窗口服务器(从控制台运行)   - 使用翻转翻转到不同的表面   - 退出时不要打电话给pygame.quit。

很难保证之后会发生什么,但是翻转应该将屏幕缓冲区翻转到外壳使用的内存的不同部分,因此它不会被覆盖,如果你不打电话pygame.quit,它应该让它处于(坏)状态。虽然有些情况很有用。