我想使用Python和PySDL2在它的垂直或水平轴中的任何一个或两个上反映SDL2窗口的全部内容。
到目前为止,我可以到达这里:
# window is an SDL_Window object created at runtime
screen_px = sdl2.ext.pixels2d(window.get_surface())
flipped = numpy.fliplr(screen_px)
screen_x_y = [1920, 1080] # using flipped.shape also threw a seg fault
flipped_surf = numpy.zeros(screen_x_y)
flipped_surf[:] = flipped
然后我使用借用的blit()
函数(使用OpenGL绘制到SDL_WINDOW对象)将flipped_surf
放到窗口上,然后调用SDL {{1} }。
这似乎可以工作(它肯定会产生预期的翻转像素阵列),但是当我尝试window.swap()
时,这段代码会抛出blit()
(我在OS X上,我在这个问题很重要),pysdl2警告segmentation fault: 11
我对任何实现这一目标的解决方案都持开放态度。