我怎样才能循环颜色?

时间:2014-04-03 08:34:55

标签: colors

我希望随着时间的推移顺利改变视图的背景颜色。

选择2种颜色c1和c2,在rgb空间中很容易产生时间c(t)= t.c1 +(1-t).c2的颜色函数,这将是两者之间的梯度

然而,rgb空间是3D,我正在寻找一种平滑地枚举所有颜色的方法。 我知道有可能有数十亿种颜色,但在4x4x4位上编码RGB对我的项目来说是可以的。

我的问题与编程语言的选择无关

我尝试过(伪代码/ Python)

之类的东西
for red in xrange(16):
  for green in xrange(16):
     for blue in xrange(16):
       color = rgb(red, green, blue)
然而,这根本不是很顺利,如果你看到我的意思,它就像一个“阶梯函数”(颜色将从普通的绿色变为没有绿色,例如一点红色)

知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

在这种情况下,我认为你对颜色的HSV值更好。您可以使用相同的策略,一次只更改其中一个HSV值,以使色彩更流畅。

Check this out (HSV)

编辑:

在进一步观察后,我发现这个论点为什么不使用HSV。 这可能是解决您问题的好方法:

Solution