我们能找出2种RGb颜色之间的区别来找出第3种颜色吗?

时间:2010-03-05 03:57:31

标签: math rgb

2种颜色混合在一起。如果我得到的颜色的RGB和混合的其中一种颜色的RGB,那么我可以计算第二种颜色吗?

我会尝试用肉眼解释我想说的话。这是一个flickr链接

http://www.flickr.com/photos/48150615@N08/4407414157

我知道中间的圆圈的不透明度为20%

有没有办法知道圆的颜色值,以便我可以扣除它以获得与背景颜色相同的颜色值。

4 个答案:

答案 0 :(得分:3)

如果我理解正确的任务......

让我们做一些学校数学

c是初始图像的颜色,t是透明色的颜色,a(对于alpha)是透明度,c'是结果颜色。

c' = (1 - a) * t + a * c

你想找到c。

c = (c' - (1 - a) * t) / a

你需要知道a,t和c'

答案 1 :(得分:3)

首先,这取决于你如何混合它们。也就是说,你可以平均RGB分量(这意味着蓝色(0,0,255)+黄色(255,255,0)==灰色(128,128,128)),或者你可以处理色调,饱和度和值,这通常会提供更多“如预期的那样”结果。

无论如何,无论如何,这是一些简单的数学:

  • 如果获得平均值的方式是C3 = (C1 + C2) / 2
  • 然后找到C2的方式是C2 = (C3 * 2) - C1

答案 2 :(得分:1)

CIELAB色彩空间专门用于计算色彩之间的差异,但在您的情况下可能有点过分。可能HSV很容易为您解决。

答案 3 :(得分:0)

只需减去每个组件。组件通常以十六进制格式存储,在这种情况下,您需要将数字转换为十进制或进行十六进制数学运算。