4
我具有表示在一8位格式可以通过平均来混合8位颜色吗?
MSB LSB
RRGGBB
位0和1是垃圾颜色2个字节。
要混合两种颜色,我应该平均每种颜色的位数?
R1 = (C1^00110000B) >> 4;
G1 = (C1^00001100B) >> 2;
B1 = (C1^00000011B);
R2 = (C2^00110000B) >> 4;
G2 = (C2^00001100B) >> 2;
B2 = (C2^00000011B);
R3 = avg(R1 , R2) << 4;
G3 = avg(G1 , G2) << 2;
B3 = avg(B1 , B2);
C3 = R3 + G3 + B3
凡C1
是第一颜色,C2
是第二,C3
是混合色,^
是逐位AND,>>
是逐位右移,<<
是按位左移,xxxxxxxxB
是二进制数和avg(a , b)
是算术平均值。
为了屏蔽你需要'&',而不是'^'。 – wildplasser 2012-07-11 19:04:18