由于我正在编写一个我自己的小“绘画”程序(只是为了好玩),我想将导入的图像转换为像素数组。到目前为止,非常好 - 我在stackoverflow上找到了一个工作解决方案,它创建了一个int[][]
数组。现在,颜色(显然,因为它是一个整数数组)整数值。我可能会使用像Color color = new Color(integerValue)
这样的东西来进行转换,但我感兴趣的是在RGB和整数值之间如何转换颜色。
具体来说,值的哪些部分指定颜色的红色/绿色/蓝色/ alpha值?或者如果它不起作用(即这4个值之间没有明显的区别),它是如何工作的?
例如,黑色(rgb:#FFFFFF)的值为-16777216。是否可以通过查看整数值来找出rgb对应物?
如上所述,我只是问这个,所以我可以理解它 - 我不打算手动解开整数值并以这种方式创建颜色。我也知道我可以使用int red = (new Color(integerValue)).getRed()
来检索单个值,但考虑到我已经知道颜色是黑色的,这是毫无意义的。
只是我希望整数显示某种模式,考虑到红色,绿色和蓝色具有相同的值。此外,我有点困惑,白色的值为-1。
提前致谢!