0

我有一个矩形。矩形的宽度取决于开始时间和结束时间。如果开始时间为 0,结束时间为 20000,那么它将有大约 200 的宽度和 100 的高度。这里的高度是恒定的。矩形的颜色是根据开始颜色和结束颜色计算的。所以如果我只给出起始颜色,那么矩形颜色的背景设置为该颜色。如果我给出开始颜色和结束颜色,那么它将部分绘制开始颜色,矩形的一半的其余部分将是结束颜色。

例如

开始时间 0;结束时间20000;

所有时间都以毫秒为单位。

开始颜色是红色 结束颜色是绿色。

o-10000 为红色,10001 - 20000 为绿色。

现在,如果我想获得第 100 毫秒,该矩形的颜色是什么。我必须使用什么逻辑。我不想使用任何 HashMap 概念。是否有任何颜色时间插值理论?我对计算所有这些东西非常感兴趣。请帮我。我对这个插值理论的知识为零。

4

1 回答 1

1

您正在寻找的是渐变。对于如何显示红色和绿色之间的渐变,没有任何严格的规则。我可以想象你可以从 RGB {255, 0, 0}(非常红)开始,然后在减少红色部分的同时增加绿色部分 {0, 255, 0}。您现在可以看到那里将有 510 (255+255) 步。20000 毫秒 / 510 个颜色值 = 你的步数。

这里描述了一个类似的渐变矩形的绘制: https ://stackoverflow.com/a/4424501/211197 根据您的需要更新它,添加您的时间步长,我猜应该是它。

于 2012-06-26T08:33:40.143 回答