可能重复:
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