有没有办法从GUI中用pygame截取屏幕截图(上一帧的副本),将其赋值给一个表面变量并进行blit?无需将屏幕截图保存到文件中,然后加载它,最后对其进行blitting,
import pygame, os
pygame.init()
screen = pygame.display.set_mode((800, 400))
def TakeScreenShot(screen):
pygame.image.save(screen, 'ScreenShot.png')
pic = pygame.image.load(os.path.join('ScreenShot.png')).convert()
return pic
pic = TakeScreenShot(screen)
screen.blit(pic, [0,0])
pygame.display.flip()保存屏幕截图,然后加载似乎真的unneccsary...is,有没有方法绕过这一点,并直接blit屏幕截图采取的图形用户界面?
即像这样的东西,
import pygame, os
pygame.init()
screen = pygame.display.set_mode((800, 400))
pic = screen.getLastFrameBlitted()
screen.blit(pic, [0,0])
pygame.display.flip()发布于 2017-12-15 20:24:35
您可以随时复制屏幕,并将其保存在一个变量中。
screenshot = screen.copy()screen只是一个常规的Surface对象,可以这样处理。截取截图的操作照常进行
screen.blit(screenshot, (0, 0))https://stackoverflow.com/questions/47830982
复制相似问题