我正在考虑如何在给定 start_time
和 end_time
、start_color
和 end_color
的情况下插值颜色>。为简单起见,以下是我考虑如何仅使用红色组件来完成此操作的示例:
start_time = 0
end_time = 1
start_color = F //base 16 ftw
end_color = 0
我可以看到,在时间 0.5 时,red_out
应该是 8。这将是从亮红色渐变到黑色的中间过程。
那么是time_elapsed * start_color
吗?但如果它以相反的方式褪色,从黑色变成鲜红色怎么办?这就是我感到困惑的地方。
最佳答案
对于每个颜色分量,您必须使用以下公式(没什么神奇的):
color = time_elapsed * (end_color - start_color) / (end_time - star_time)
关于javascript - 插值 RGB 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3450236/