【发布时间】:2018-04-04 13:54:04
【问题描述】:
如何在pygame中将屏幕内容放入一个数组中?我已经从文档中尝试过:
self.screen.lock()
tmp_frame = pygame.surfarray.array3d(self.screen)
self.screen.unlock()
我尝试了各种方法,比如先使用pixelcopy来获取表面的副本,但我总是遇到分段错误。
致命的 Python 错误:(pygame parachute) Segmentation Fault Aborted (核心转储)
是因为我想直接从屏幕复制吗? 这是屏幕包含的内容:
self.screen = pygl2d.display.set_mode((self.SCREEN_WIDTH, self.SCREEN_HEIGHT), pygame.DOUBLEBUF, depth=24)
这是set_mode的定义:
def set_mode(resolution=(0,0), flags=0, depth=0):
flags |= pygame.OPENGL
screen = pygame.display.set_mode(resolution, flags, depth)
init_gl()
return screen
编辑跟进:
我也尝试先将屏幕表面复制到另一个表面
tmp_surface= self.screen.copy()
但我明白了
pygame.error: 无法复制 opengl 显示
真的,我想问题是如何将这个 opengl 显示内容复制到数组中?
【问题讨论】:
标签: pygame