移位和按位运算以编码RGB值

贝尼尔

我想将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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章