3

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

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

您是否必须调用.convert()它来更改其像素格式,或者在您创建它时已经为您完成了?

4

2 回答 2

2

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

于 2013-02-04T22:24:31.013 回答
1

当你创建一个新的表面时,它的格式总是匹配(尽可能地)当前显示表面的格式(不管你pygame.display.set_mode()上次调用时设置的)。您不需要convert新的表面,除非它们的格式要求与显示表面不同(alpha,用于一种或索引颜色,如名称所述)。

请注意,如果新表面确实具有每像素 alpha 深度(有或没有其他格式细节),您将需要使用它convert_alpha()

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

于 2014-09-27T03:32:07.253 回答