色相在UIColor
是不一样的标准RGB色轮。我的意思是,在色轮两个对立的颜色将匹配(即,黄,紫),但是如果你把两个对立的颜色UIColor
,例如:UIColor与标准RGB色轮不符?
颜色1:色调0.45
颜色2 :色调0.95
它们不匹配。有没有办法通过UIColor
找到光谱中相反的颜色?
色相在UIColor
是不一样的标准RGB色轮。我的意思是,在色轮两个对立的颜色将匹配(即,黄,紫),但是如果你把两个对立的颜色UIColor
,例如:UIColor与标准RGB色轮不符?
颜色1:色调0.45
颜色2 :色调0.95
它们不匹配。有没有办法通过UIColor
找到光谱中相反的颜色?
彼此相对的轮子上的颜色并不是通常所说的“匹配”,他们被称为“互补”,如,如果混合在一起他们,你得到的白色(或黑色,如果你正在处理减色,即,颜料)。
RGB是不是一个真正的颜色“轮子” - 这更像是一个立方体形状。然而,色调HSB,通常表示为从0˚到360˚的角度,红色在0˚,绿松石在180˚。如果你把一个值从180˚不管你下手,你会得到补充:红0˚/180˚绿松石,绿色120˚/300˚紫等编程时,色调范围通常被写成之间的分数0和1。在该方案中,你可以做
fmod(val - 0.5, 1.0)
得到补充。
你还没有说出你期望得到的结果和你得到的结果,所以很难有专门的帮助,但0.95和0.45确实是互补的,当我用这些值创建UIColor
时,我看到预期的红色和绿松石色调。
计算机屏幕上的颜色与颜色的颜色行为不同,因为在第一种情况下,您是adding wavelengths of light以获得结果,而第二种情况是selectively absorbing wavelengths。这可能是你混淆的根源。红色加黄色等于带颜料的橙色,但红色加绿色则等于黄色带光。
我answered a question just like this不是所有很久以前。它的要点是有很多不同的颜色模型。即使在你的问题中,你似乎也在考虑两种不同的模型:黄色和紫色可能在红黄蓝模型中是免费的,但在红绿蓝模型中则没有。
可能的[在UIColor和标准色轮中的色调]的副本(http://stackoverflow.com/questions/5663230/hue-in-uicolor-and-standard-color-wheels) – Caleb 2011-06-02 01:47:23