2011-05-20 241 views
2

Java ME是否支持0xAARRGGBB顏色格式?我的意思是我可以通過修改像素的alpha值來改變圖像的不透明度嗎?我使用Graphics和Image類。ARGB顏色格式

回答

2

這無疑會因設備而異。爲什麼不試試看看?

編輯:好,所以我想你想知道如何做到這一點。則需要的方法是Image.getRGB() - 按照文檔:

從該圖像的 指定區域獲得ARGB像素數據和 將其存儲所提供的 整數數組英寸每個像素值以0xAARRGGBB格式存儲爲 ,其中 高位字節包含字母 通道,其餘字節 分別包含紅色, 綠色和藍色的顏色分量。 Alpha通道指定像素的不透明度,其中值0x00 表示完全透明的像素,值0xFF 表示完全不透明的像素。

修改您想要的像素,然後使用數據使用Image.createRGBImage()創建新圖像。

編輯:規範說,所有的設備應該允許alpha操作。

一種方式來告訴他們是否做與否是create a mutable image,克et its graphics objectwrite some ARGB data to it,然後read it back,並查看是否alpha數據仍然存在;如果沒有,那麼你可以賭alpha透明不支持。

我聯繫的方法應該是所有你需要做這個,實際的方法,我離開作爲練習;)

+0

我正在開發用於支持MIDP 2.0的所有設備的通用應用程序,所以我不限於特定的設備型號。我的目的是通過修改不透明度值來創建玻璃效果。你有什麼建議? – 2011-05-20 10:26:43

+0

+1文件,但如果目標設備不支持alpha值會怎麼樣?我需要改變它以創建一個不透明的圖像。 – 2011-05-20 10:40:28

+0

對不起,我不能投票,直到獲得15聲望。:) – 2011-05-20 10:49:32