2017-02-12 43 views
1

我得到#AARRGGBB顏色從轉換ARGB到RGB,並獲得相同的顏色

int getColor=bitmap.getPixel() 

(位圖是ARGB_8888)

作爲例子,的getColor值爲:#20000000(淺灰色) 我需要在#RRGGBB中獲得相同的顏色,例如#BDBDBD(淺灰色)。

我該怎麼做?

+1

#20000000是黑色的,不是淺灰色。由於它是半透明的,因此如果繪製在白色之上,它可能變成淺灰色。那是你要的嗎?獲得在白色上繪製顏色的結果? –

+0

哦,我知道它是黑色#000000。但有什麼方法可以在#rrggbb中獲得完全的顏色(我看到的顏色),沒有alpha,或者它的虛幻? – Lokie

+0

取決於你所看到的含義。正如我所說,如果它在白色之上,你會看到一件事。在黑色的頂部,你會看到黑色。它本身總是黑色的。如果你想在白色的基礎上,然後基於阿爾法白色混合。 –

回答

0

如果您希望將該顏色置於白色之上時出現的顏色,則必須將其混合。由於alpha是0x20,因此您將該顏色乘以0x20,將白色乘以0xff-0x20,然後將它們相加。

當然,分別對R,G和B做這個。

+0

非常感謝你的配合。 – Lokie

+0

薩米我很抱歉打擾你,但你可以寫一些例子。也許有些 public void colorOnTopOfWhite(String argbHex),或者類似的。我最近學習java,所以我需要幫助。再次抱歉。 – Lokie

+0

對不起public String not void – Lokie