xor和颜色反转?

时间:2011-04-05 13:49:40

标签: algorithm

什么是颜色算法的反转?我们怎样才能实现这个目标?

例如

Black->White
Blue->Yellow

1 个答案:

答案 0 :(得分:12)

你这样做:

RInv = 255 - R
GInv = 255 - G
BInv = 255 - B

可以通过XOR完成,如下所示:

RInv = R xor 255
GInv = G xor 255
BInv = B xor 255

xor有效,因为我们希望R和RInv之和等于255:

RInv = 255 - R
=> RInv  + R = 255

并且,由于二进制数上的xor是Galois字段mod 2的一个加法,我们得到:

C = A xor B
=> C xor B = A xor B xor B = A
RInv = 255 xor R
RInv xor R = 255