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