我们可以找出2个RGb颜色之间的差异来找出第3种颜色吗?
2种颜色混合在一起。如果我有RGB的结果颜色和RGB其中一种颜色混合,那么我可以计算第二种颜色?我们可以找出2个RGb颜色之间的差异来找出第3种颜色吗?
我会尽力解释我想说什么。这里是一个Flickr的链接
http://www.flickr.com/photos/[email protected]/4407414157
我知道,在中间的圆圈为20%
不透明有没有办法知道圆的颜色值,这样我可以扣除以获得与背景颜色相同的颜色值。
,如果我理解正确的任务...
让我们做一些高中数学
c是初始图像的色彩,t为透明色的颜色,(对于阿尔法)是透明,C”是结果颜色。
c' = (1 - a) * t + a * c
你想找到c。
c = (c' - (1 - a) * t)/a
你需要知道,T和C”
可以这么说,那么如果这些值是: 透明颜色的RGB:153 153 153; Alpha透明色:20%(普通); 结果颜色的RGB:159 78 57; 那么最初的颜色是什么? – 2010-03-04 18:36:43
独立计算R,G和B:对于红色:c =(159 - (1 - 0.2)* 153)/ 0.2 = 183 – Andrey 2010-03-04 18:41:27
我刚刚在photoshop中创建的图像应用了它,但它没有给我正确的颜色。难道我做错了什么? – 2010-03-04 19:12:27
只是减去每个组件。组件通常以十六进制格式存储,在这种情况下,您需要将数字转换为十进制或十六进制数学。
从什么中减去什么? – nickf 2010-03-05 04:01:17
结果中的组分减去第一个原始组分。 – 2010-03-05 04:05:17
你能举个例子吗?我的意思是我已经尝试过,但它不工作。 – 2010-03-05 04:06:05
首先它取决于你如何混合它们。也就是说,您可以对RGB分量进行平均(这意味着蓝色(0,0,255)+黄色(255,255,0)==灰色(128,128,128)),或者您可以处理色调,饱和度和值,这通常会提供更多“如预期的”结果。
不管怎样,在这两种情况下,它的一些简单的数学:
- 如果要获得平均的方法是
C3 = (C1 + C2)/2
- 然后找到C2的方式
C2 = (C3 * 2) - C1
HSL也会运作良好 – 2010-03-05 09:53:56
CIELAB色彩空间是专门为计算颜色之间的差异而设计的,但在您的情况下它可能是一种矫枉过正。可能HSV很容易为你解决。
...什么? – Welbog 2010-03-04 17:53:02
另请参阅:http://stackoverflow.com/questions/2049230/convert-rgba-color-to-rgb – 2010-03-04 17:55:17
你在说什么? JPEG不会透明。只给出JPEG中的一个像素,无法回过头来看它是如何组成的。 – 2010-03-04 18:07:55