我正在寫一個簡單的J2ME遊戲,它使用帶有8位Alpha通道的PNG圖像。問題:並非所有硬件都支持完整的Alpha透明渲染。然而,由於我的遊戲本質上是非常靜態的(一開始,根據當前的屏幕大小,「精靈」被放置在背景圖像上,這就是它),我認爲可以將這些透明圖像直接預渲染到遊戲初始化期間的背景以及稍後在遊戲中使用。我不能在Photoshop中預渲染他們,因爲他們的位置並未提前知道。如何在J2ME中從PNG中讀取原始alpha通道?
但是,似乎沒有辦法在不支持半透明的設備上讀取原始Alpha通道,因爲它在PNG加載期間被重新採樣。有一些圖書館可以幫助嗎?或者是分開存儲阿爾法通道(例如作爲單獨的8位PNG圖像)並手動應用它們?
謝謝!
感謝您的回覆。但是,getRGB()狀態的文檔「在不支持Alpha混合的設備上,不透明像素的Alpha值爲0xFF,所有其他像素的Alpha值爲0x00。」因此,可以修改getRGB()生成的alpha值,以適應平臺支持的半透明度級別(Display.numAlphaLevels())。我想知道是否有一種方法可以以獨立於設備的方式讀取alpha通道,最好是以一種簡單的方式(不知道是否有用於J2ME的第三方PNG庫)。 – lorimer 2011-05-11 15:41:56
現在,每個設備都支持透明的PNG .. – Ashok 2011-06-15 06:13:52