如何使用java中的位移在单个字节中存储3个数字,即使用R的前3位,G的后3位和最后2位B.我想我知道如何检索来自字节的数字,但编码和解码的例子会很棒。
谢谢杰克
编辑:
对于B,R和G的值范围为0-7和0-3。
答案 0 :(得分:2)
鉴于r
,g
和b
的范围为0 - 255:
rgb = (b >>> 6) << 6 | (g >>> 5) << 3 | (r >>> 5);
这是按此顺序填写结果:
+--+--+--+--+--+--+--+--+
|B7|B6|G7|G6|G5|R7|R6|R5|
+--+--+--+--+--+--+--+--+
即。我假设当你说“第一”时你意味着最不重要。如果你想要它们的另一种方式是:
rgb = (b >>> 6) | (g >>> 5) << 2 | (r >>> 5) << 5;