获取两种颜色之间所有颜色的十六进制代码?

问题描述:

我想要有从一种颜色切换到另一种颜色的按钮。获取两种颜色之间所有颜色的十六进制代码?

例如, 1000个按钮,其中第一个是黄色,最后一个是绿色,所有中间的按钮将从黄色缓慢移动到绿色。

所以我想我需要一些软件/网页来生成这两种颜色之间的颜色(例如#8a3a3a)的所有十六进制代码。

这可能吗?

谢谢!

+0

伟大的工具。我黑了代码,它打印出我所有的十六进制代码:) – 2010-08-03 14:50:30

拆分两个输入颜色分为红,绿,蓝组件并将其转换为浮动。从目标组件中减去源组件,将每个组件除以1000,并将它们称为f.ex. deltaRed,deltaGreen,deltaBlue。从源代码组件开始,将它们转换为“#rrggbb”字符串1000次,每个循环添加增量。如果你想实际达到目标颜色,你必须从0循环到1000,即。 1001次。

是的。您可以如下计算它:

想象一下,颜色是三维空间中的点,每个组分(红色,绿色和蓝色)代表一个维度。根据两种颜色之间所需的色调数量,您可以尝试均匀分配两种颜色之间的差异,分别为每个组件分配。例如,如果rA是颜色A的红色分量,rB是颜色B的红色分量,并且如果您需要10个步骤,则第二步的红色分量为r2 =(rB-rA)* 2/10.

将组件转换为十进制数(例如8a => 138),并且您应该为计算编写一个小程序。我不认为你需要那么多的色调,因为每个组件只有0到255的范围(舍入必要),而人眼无法区分这么多的色彩。