可能重複:
How to convert a color integer to a hex String in Android?如何將顏色轉換爲十六進制?
int c = bitmap.getPixel(x, y);
返回像-14438067
7或8位的數字爲綠色例如。
如何將其轉換爲十六進制或其他有意義的內容?我試過parseColor,但我得到一個異常「不是顏色......」
可能重複:
How to convert a color integer to a hex String in Android?如何將顏色轉換爲十六進制?
int c = bitmap.getPixel(x, y);
返回像-14438067
7或8位的數字爲綠色例如。
如何將其轉換爲十六進制或其他有意義的內容?我試過parseColor,但我得到一個異常「不是顏色......」
您可以在Color類中使用靜態方法。 (在這裏找到:http://developer.android.com/reference/android/graphics/Color.html)
您可以分別爲紅色,藍色,綠色和alpha提取單個組件。 (分別使用Color.red(int color),Color.blue(int color),Color.green(int color)和Color.alpha(int Color)方法)
使用Integer.toString(color,16 )對單個組件值將得到該組件的十六進制字符串表示。
您也可以使用位移,因爲組件被指定爲(alpha << 24)| (紅色<< 16)| (綠色「8」)藍色。 (color >> 8)&0xFF變綠爲例。我只是碰巧找到更清晰的方法來使用。 –
我已經從getPixel() – code511788465541441
@ user521180得到這個數字如果你有單獨的組件,那麼你可以使用Integer.toString(c,16)將每個轉換爲一個十六進制字符串,如盧卡斯的答案中所建議的。 –
來自http://developer.android.com/reference/android/graphics/Color.html,「顏色表示爲壓縮整數,由4個字節組成:alpha,red,green,blue ...組件存儲如下(alpha << 24)|(red << 16)|(green << 8)| blue。每個分量的範圍介於0..255之間,其中0表示對該分量無貢獻,255表示100%貢獻」。 – mbeckish