Pygame - 获取图像像素阿尔法值

问题描述:

我有一个GIF,我想单独读取每个像素以创建准确的碰撞检测。这些GIF包含透明背景。我的代码如下所示:Pygame - 获取图像像素阿尔法值

for x in range(player_image.get_width()): 
    for y in range(player_image.get_height()): 
     col = player_image.get_at((x, y)) 
     print col[3] 

的问题是,每个打印包含255个值,而给定图像中几乎一半的图像是透明的(背景)。所有其他值(红色,绿色,蓝色)都是正确的。那么,我怎样才能读取表面像素的alpha通道值?

您可以加载它后convert_alpha()你的形象:

player_image = pygame.image.load(...).convert_alpha() 

这样,你的形象将有每像素 alpha值。

+0

作品:)谢谢 –