首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平面图-存储曲面作为图像

平面图-存储曲面作为图像
EN

Stack Overflow用户
提问于 2012-04-06 13:07:21
回答 1查看 1K关注 0票数 2

这是我在玩偶游戏的第二天,我对很多功能不太了解。下面是我在我的表面(窗口)所做的事情的示例

代码语言:javascript
复制
for c in nStations:
  pygame.time.wait( 20 )
  pygame.draw.circle( window, c.tColor, c.tPosition, c.iRadius )
  pygame.display.update()

这是循环的,以n数的圆圈(在一个元组中)要显示。现在,这将被重复总共5-6次.我希望将表面窗口存储/保存为图像(或子表面),并将其作为缩略图/链接放在窗口的右上角。

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

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

P.S.我看过python.surface库函数。surface.copy似乎是我要找的东西,但是在复制和编辑它之前,我能把它作为缩略图/图像存储起来吗?

编辑->After阅读jsbueno的回复,我所做的:

代码语言:javascript
复制
  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 )

以上这些似乎对我来说是完美的。谢谢。:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-06 13:45:42

事实上,所有绘制和转换函数都接受一个“曲面”作为第一个参数。实际上,在游戏中,“表面”是一种图像。

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

如果要进行连续绘制,粘贴的角ould也会被复制,就像摄像机指向自己的输出一样--因此,“正确的方法”是:将yoru分开绘制,在内存平面中,将其涂到屏幕表面,然后将缩略图涂在屏幕上方。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10043904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档