Python Pygame-将曲面存储为图像

Python Pygame-将曲面存储为图像,python,image,pygame,geometry-surface,Python,Image,Pygame,Geometry Surface,这只是我在pygame的第二天,我对很多功能不太了解。以下是我在曲面(窗口)上所做的示例 此循环用于显示n圈数(元组中)。现在,这将重复5-6次。我希望将曲面窗口存储/保存为图像(或子曲面),并将其作为缩略图/链接放在窗口的右上角 可能吗?还是pygame不是一个很好的库?我也尝试过使用cocos2d,但与pygame相比,它的文档非常差 如果我的问题在任何地方都没有任何意义,请回答。我会不断更新的 p.S.我看过库函数。而且surface.copy似乎是我正在寻找的,但是在进一步复制和编辑之前

这只是我在pygame的第二天,我对很多功能不太了解。以下是我在曲面(窗口)上所做的示例

此循环用于显示
n
圈数(元组中)。现在,这将重复5-6次。我希望将曲面窗口存储/保存为图像(或子曲面),并将其作为缩略图/链接放在窗口的右上角

可能吗?还是
pygame
不是一个很好的库?我也尝试过使用
cocos2d
,但与
pygame
相比,它的文档非常差

如果我的问题在任何地方都没有任何意义,请回答。我会不断更新的

p.S.我看过库函数。而且surface.copy似乎是我正在寻找的,但是在进一步复制和编辑之前,我可以将曲面存储为缩略图/图像吗

编辑->阅读jsbueno的回复后,我做了什么:

  tThumbs.append( pygame.transform.smoothscale( window, (32, 32) ) )
  # the above statement inside drawing-circle loop

i = 1
for thumb in tThumbs:
  window.blit( thumb, (1050, 36*i) )
  pygame.display.update()
  i += 1
  pygame.time.wait( 200 )

以上这些对我来说似乎非常有效。谢谢。:)

事实上-Pygame中的所有绘图和transofmr函数都接受“surface”作为第一个参数。实际上,在pygame中,“曲面”是一个图像

显示窗口也只是一个表面——尽管是一个专门的窗口,其内容会反映在屏幕上。但您可以使用
pygame.transform.smoothscale
获取屏幕表面的缩略图,然后使用屏幕对象本身的
blit
方法将其粘贴到屏幕上


如果要继续这样做,粘贴的角点也要复制,就像摄像机指向自己的输出一样-所以“正确的方法”是:将你的绘图保持在单独的内存表面,将其复制到屏幕表面,然后点击上面的缩略图。

我想重新引用一下自己的话:>这只是我在pygame的第二天,我对很多功能不太了解。编辑问题以反映我所做的。请告诉我是否有一个更短/更快的方法来实现它。我如何回拨缩略图?例如,点击一个缩略图必须将该曲面向后展开。Pygame不为您进行“对象删除”,纯Pygame也没有小部件-您必须自己检查鼠标事件,并查看鼠标点击是否在缩略图中着陆。您可以自己编写,也可以在pygame中寻找一个框架/小部件库来为您处理它。
  tThumbs.append( pygame.transform.smoothscale( window, (32, 32) ) )
  # the above statement inside drawing-circle loop

i = 1
for thumb in tThumbs:
  window.blit( thumb, (1050, 36*i) )
  pygame.display.update()
  i += 1
  pygame.time.wait( 200 )