2012-07-17 86 views
1

我使用this sprite進行一些實驗。我用GIMP裁剪了一部分紙張,並使藍色背景透明,結果爲this。但是,當我使用這個精靈運行代碼時,我仍然會得到一個藍色背景的精靈。同樣的事情發生在其他精靈(不同的精靈表,相同的源代碼,相同的編輯過程)。PNG圖像精靈保留背景顏色

現在,我知道我可以使用PyGame本身設置透明顏色,但我想知道這是否是我能做到的唯一方法?我不能通過圖像本身做到嗎?即使在使用GIMP清除後,PyGame仍然會讀取藍色的backgorund?

P.S. SSCE將爲鏈接的GitHub倉庫的pvz_shooter_test.py和/或image_test.py

+0

您確定使用了新版本的精靈嗎?此外,請提供加載圖像的代碼,並且不要讓我們搜索您的git存儲庫。謝謝。 – Constantinius 2012-07-17 09:44:45

回答

1

嘗試mySurface.convert_alpha()(檢查pygame documentation的相關信息)。

+1

抽菸!確實是這樣!謝謝你先生! ( - ) – skytreader 2012-07-17 11:42:35

0

關於PyGame如何在GIMP清除後仍然讀取藍色背景的更多詳細信息。

當圖像文件格式支持它時,像素不僅僅表示爲RGB位。還有每個像素的附加信息,即alpha通道。 GIMP所做的是將alpha位設置爲0%不透明度。 RGB值保持不變(在這種情況下,藍色)。由於我的PyGame代碼沒有設置爲讀取附加的alpha位,它只讀取描述藍色的RGB。方法convert_alpha也告訴PyGame讀取alpha通道。