我想将RGB颜色编码为单个整数值。
假设编码算法如下:
int code = (blue * 256 * 256) + (green * 256) + red
如何使用位移和/或按位运算符对RGB分量进行编码/从代码中解码?
int blueMask = 0xFF0000, greenMask = 0xFF00, redMask = 0xFF;
int r = 12, g = 13, b = 14;
int bgrValue = (b << 16) + (g << 8) + r;
System.out.println("blue:" + ((bgrValue & blueMask) >> 16));
System.out.println("red:" + ((bgrValue & redMask)));
System.out.println("green:" + ((bgrValue & greenMask) >> 8));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句