2012-03-06 74 views
1

我正在寻找一种方法来查找RGB颜色的分割补充。我目前正在使用Javascript,但这并不重要。我只是在寻找psuedocode或任何代码示例,真的。我几次搜索这个问题,但我似乎无法得出任何结果。有人有我的公式吗?公式来查找颜色的分割补充?

此外,我想尽量不要转换为任何其他颜色格式,因为这可能是一个痛苦。

+0

即使你的意思是补充,而不是恭维,我仍然不知道你的意思。不过,我已经在Perl中使用RGB空间中的颜色完成了一些工作。你能解释更多吗? – tchrist 2012-03-06 04:09:44

+0

哎呀,是的,我的意思是补充。我试图通过数学公式找到特定RGB颜色的分割补充。麻烦的是,我无法弄清楚或找到任何地方的配方,这就是为什么我来到这里。 – 2012-03-06 04:24:24

回答

2

转换成HSV,然后修改你的色调角180°±30°左右。

对HSV的转换很常见并且很容易获得。但是你只需要角度位,通过补码调整它,然后通过分割并将该吸盘反馈回RGB。

rgb2hsv(r,g,b); 
h += 180; 
h0 = h + 30; 
h1 = h - 30; 
hsv2rgb(h0,s,v); 
hsv2rgb(h1,s,v); 

或多或少。从chroma.js或任何任何代码库中选取rgb2hsv和hsv2rgb。或者抓住两者的副本并将它们混合在一起,只需要你想要的东西,然后做一个单一的功能就可以做到。

+0

这很好,谢谢! – 2012-08-18 14:33:32