簡體   English   中英

如何從顏色中提取ARGB並將其轉換為字節分量?

[英]How can I extract ARGB from a Color and convert them to byte components?

我正在Java / Android中工作,我想采用0xFFFFFFFF int顏色並將其分成4個字節,分別表示紅色,綠色,藍色和Alpha。 我知道Color有提取特定顏色值的方法,但它將它們作為int給出。 我遍歷了SDK,發現Color.red(color)方法與說(color >> 16) & 0xFF相同,說實話我不知道這意味着什么,但是我認為我可以以某種方式使用它。

我試着做

byte red = (byte)Color.red(color);

但這似乎不起作用。 重點是,我可以使用方法將值輸入OpenGL

glColorPointer(4, GL_UNSIGNED_BYTE, 4, myColors);

myColors是一個字節[]。

任何幫助/提示/要點將不勝感激。

如果“顏色”具有提取特定顏色值的方法,則將“紅色”提取為int值,然后將其提取為“十六進制”,然后設為“綠色”,然后設為藍色。 您可能還希望提取alpha。 使用Integer.toHexString(int) ,可以打印Integer.toHexString(int)的十六進制值。 (color >> 16) & 0xFF將紅色(通過位移位和相加)定位到非alpha顏色的6個十六進制數字中的前2個。 非alpha顏色RBG由3個字節的信息組成。 每個字節都是一種顏色,其順序為R(紅色)B(藍色)G(綠色)。 0xFF是一個字節,如果設置為紅色則表示顏色具有全紅色等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM