色轮两侧的十六进制颜色值之间的数学关系是什么?

时间:2013-12-05 22:12:01

标签: colors mathematical-optimization hex

我想逐渐围绕色轮旋转,每回合跳到另一侧。我有一个未定义的客户端数量代表剑道图表,我想确保它们都可以识别它们的直接邻居。任何人都可以确定色轮两侧颜色之间的数学关系吗?我当然是自己做这个,但我认为这是一个有趣的小问题,你们可能会和我一起享受。

2 个答案:

答案 0 :(得分:2)

在HSL或HSV颜色空间中进行此类转换会更容易,而不是RGB(也就是十六进制值)。然后在车轮上获得相反的点,只需遵循以下公式:

hue = (hue + 180) % 360

因此从hsl(0,80%,20%)开始将产生hsl(180%,80%,20%)等。将给定RGB值转换为相反点上的RGB值的最简单方法是将RGB转换为HSL或HSV,进行移位,然后将其转换回RGB。其公式可在此处找到:http://en.wikipedia.org/wiki/HSL_and_HSV

现代浏览器原生支持HSL ,因此可能会避免这种复杂性,并且您首先不需要使用RGB值。 http://caniuse.com/css3-colors

答案 1 :(得分:1)

色轮基于HSV color space,其中色调坐标代表色轮上的角度。您需要将RGB颜色转换为HSV,在色调坐标上执行旋转,然后转换回RGB。