计算反色的算法

时间:2011-08-05 19:39:09

标签: algorithm colors

对于每个片段,我的RGB颜色范围为0.0到1.0,我需要一个算法来获得颜色的反转,任何想法我该怎么做?

2 个答案:

答案 0 :(得分:35)

newR = 1.0 - r
newG = 1.0 - g
newB = 1.0 - b

如果颜色具有预乘的Alpha值,请使用alpha而不是1.0:

newR = a - r
newG = a - g
newB = a - b

答案 1 :(得分:8)

如果您使用的RGB值为255,则可以执行以下操作:

newR = 255 - r;
newG = 255 - g;
newB = 255 - b;

要理解这个概念,请将每个值想象为一个从0到255的数字行。如果您在该数字行上绘制一个数字,那么该数字就是距数字行开头的距离。为了否定它,数字必须传到数字线的另一端。该算法基本上翻转数字行而不移动开头或结尾。我们的数字行是从0到255,因此,如果数字距离开头10(10),现在它距离结尾(245)10,因此否定了颜色。