颜色可以表示为红色、绿色和蓝色的混合。
例如:(255,51,153)=粉红色
有没有什么好的公式可以通过改变一个变量来获得不同的颜色?例如 (10x,22x,2x^2)。所以当 x=1,2,3,4,.... 它会给出不同的颜色,如红色,绿色,青色,蓝色......等。
也许您会对使用 HSL/HSV 颜色更感兴趣。定义饱和度和亮度并调整色调以获得不同的颜色。查看HSL 和 HSV wiki了解更多信息。15 到 30 度的色调调整将产生明显不同的颜色,而不会影响饱和度或亮度。
CSS 中的 hsl 示例如下。
<h1 style="color:hsl(0,50%,100%);">HSL Test</h1> //this will be red
0 处的第一个值是红色,前进 120 度会使您变为绿色,另外 120 度会使您变为蓝色,最后一个 120 将使您回到红色,因为度数系统基于圆的 360 度。所以 0 和 360 只是 60 和 420 相同。接下来的两个值是基于从 0% 到 100% 的百分比来定义该属性的强度。他们很难解释,所以我做了一个快速的小提琴来证明这一点。
因此,要回答您的问题,有一个很好的公式来调整颜色,这取决于您想要更改它的确切程度。在 RGB 世界中,您可以通过统一降低值来使事物变暗,反之则通过提高它们。您可以通过按预期调整各个颜色值来增加不同颜色的存在。但是,如果您尝试循环整个色轮,那么使用 RGB 值很难(尽管完全可能)。真正要吸取的教训是,有多种方法可以定义特定的颜色,并且每种方法都有不同的方法来遍历光谱。HSL 和 HSLA 对许多人来说非常直观,因为它的值并不需要猜测。从色轮中选择一种特定的色调,记住ROYGBIV正如您想象的 0-359 之间的值。根据您希望颜色的大胆程度定义饱和度,然后根据亮度定义亮度。正如您将在小提琴中看到的那样,在大多数情况下,它比 RGB 更有用。使用 javascript 制作整个色谱的子集只需要几行代码。