我希望随着时间的推移顺利改变视图的背景颜色。
选择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)
然而,这根本不是很顺利,如果你看到我的意思,它就像一个“阶梯函数”(颜色将从普通的绿色变为没有绿色,例如一点红色)
知道怎么做吗?
答案 0 :(得分:1)
在这种情况下,我认为你对颜色的HSV值更好。您可以使用相同的策略,一次只更改其中一个HSV值,以使色彩更流畅。
编辑:
在进一步观察后,我发现这个论点为什么不使用HSV。 这可能是解决您问题的好方法: