新的pygame表面必须是.convert()编辑吗?

时间:2013-02-04 21:33:28

标签: python pygame geometry-surface pixelformat

当你创建一个新的Pygame表面时:

pygame.Surface((width, height), flags=0, depth=0, masks=None)

您是否需要在其上调用.convert()来更改其像素格式,或者在创建时已经为您完成了这项工作?

2 个答案:

答案 0 :(得分:2)

convert仅在更改像素格式时使用(例如,从indexed转换为rgb)。默认情况下,表面将使用RGB创建,如果不是您需要的(几乎总是如此),您只需要转换它。

答案 1 :(得分:1)

创建新曲面时,其格式始终匹配(尽可能)当前显示曲面的格式(最后调用pygame.display.set_mode()时设置的内容)。您不需要convert个新曲面,除非它们的格式要求与显示表面不同(alpha,对于一个或索引颜色,如提到的名称)。

请注意,如果新表面 具有每像素alpha深度(包含或不包含其他格式详情),则需要使用convert_alpha()

来自文档:http://www.pygame.org/docs/ref/surface.html (自提出问题以来近二十个月内可能已更新。)