2014-02-07 44 views
0

我有一個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通道值?

回答

2

您可以加載它後convert_alpha()你的形象:

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

這樣,你的形象將有每像素 alpha值。

+0

作品:)謝謝 –