Mar*_*som 35
newR = 1.0 - r
newG = 1.0 - g
newB = 1.0 - b
Run Code Online (Sandbox Code Playgroud)
如果颜色具有预乘的Alpha值,请使用alpha而不是1.0:
newR = a - r
newG = a - g
newB = a - b
Run Code Online (Sandbox Code Playgroud)
小智 9
如果您使用RGB值为255,您可以执行以下操作:
newR = 255 - r;
newG = 255 - g;
newB = 255 - b;
Run Code Online (Sandbox Code Playgroud)
要理解这个概念,请将每个值设想为从0到255的数字线.如果您在该数字线上绘制数字,则该数字是距数字行开头的距离.为了否定它,数字必须传到数字线的另一端.该算法基本上翻转数字行而不移动开头或结尾.我们的数字行是从0到255,因此,如果数字距离开头10(10),现在它距离结尾(245)10,因此否定颜色.