这是我的代码,应该采用一个颜色int,将其转换为HSV,将0.5添加到色调,然后转换回int。但是在输出中,而不是0xFF00FFFF给出了-64768 ...任何想法可能是什么问题?
int c = 0xFFFF0000; /// RED
float[] hsv = new float[3];
Color.colorToHSV( c, hsv ); /// splitting "c" into hsv
hsv[0] = hsv[0]+0.5f; /// adding 0.5 to Hue
int c1 = Color.HSVToColor( hsv ); /// converting hsv back to int
Log.e("color: ", String.valueOf(c1) ); /// outputting new color int
// should be "0xFF00FFFF" (light bule) , but is "-64768" hmm...
谢谢!
最佳答案
您不以十六进制打印字符串。
而是打印原始int值。
十六进制的值是FFFF0300,这很有意义。