8ビット形式で色を表す2バイトがあります
MSB LSB
01234567
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は最初の色、は 2番目C2、C3は混合色、^はビット単位の AND、>>はビット単位の右シフト、<<はビット単位の左シフト、xxxxxxxxBは 2 進数、avg( a , b )は算術平均です。