Beh*_*nil 8 java bit-manipulation
我想将RGB颜色编码为单个整数值.
假设编码算法是这样的:
int code = (blue * 256 * 256) + (green * 256) + red
Run Code Online (Sandbox Code Playgroud)
如何使用位移和/或按位运算符将RGB组件编码/解码到代码?
Dev*_*ked 10
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));
Run Code Online (Sandbox Code Playgroud)