我有一组RGB颜色,每个分量的值都在0.0到1.0之间,我需要一个算法来获取该颜色的反色,你有什么好的想法吗?
newR = 1.0 - r
newG = 1.0 - g
newB = 1.0 - b
如果颜色具有预乘阿尔法值,请使用阿尔法值而不是1.0:
newR = a - r
newG = a - g
newB = a - b
如果您使用的是 RGB 值到 255,则可以像这样操作:
newR = 255 - r;
newG = 255 - g;
newB = 255 - b;
为了理解这个概念,请将每个值想象成一个从0到255的数线。如果你在该数线上绘制一个数字,那么该数字距离数线的起点就是该数字本身。为了取反它,该数字必须移动到数线的另一端。该算法基本上翻转了数线而不移动其起点或终点。我们的数线是从0到255,因此,如果数字距离开头有10(10),现在它将距离结尾有10(245),从而对颜色进行取反。