2012-02-21 58 views
0

我在我的應用程序中使用Android拾色器,它返回一個android整數常量(-ve值)。如何從整型常量中獲得r,g,b,float值,以便我可以將r,g,b,float值傳遞給opengl來更新顏色。從Android拾色器中獲取r,g,b a浮點值

感謝

+2

您可以使用例如R,G,B和A整數來獲得。 int blue = Color.blue(RGBA_int)。它將是[0,255]之間的整數,因此將其除以255f,您將得到一個浮點數[0f,1f]。 – harism 2012-02-21 00:10:45

+0

Thanks..new to Android!..完美無缺:) – 2012-02-21 01:05:10

回答

0

鑑於代表Android的顏色,你可以得到的值使用(這通常會根據您的色彩空間範圍從0-255)以下的整數myColor

int alpha = Color.alpha(myColor); 
int red = Color.red(myColor); 
int green = Color.green(myColor); 
int blue = Color.blue(myColor); 

如果您使用API​​ 26+,那麼您也可以將這些返回值改爲浮動值。例如:

float alpha = Color.alpha(myColor); 
float red = Color.red(myColor); 
float green = Color.green(myColor); 
float blue = Color.blue(myColor); 

如果您希望標準化這些值(不需要典型的Android開發,但可以通過openGL的需要),只需通過255f或分割(如果使用非典型色彩空間)由getMaxValue(int componentIndex),其中componentIndex是其色彩空間定義中該組件的索引(例如藍色)。

相關問題