css - 是否有一个公式可以在 RGB 表示中获得不同的颜色

标签 css math graphics

颜色可以表示为红色、绿色和蓝色的混合。

例如:(255,51,153)=粉色

是否有任何好的公式可以通过更改一个变量来获得不同的颜色? 如(10x,22x,2x^2)。所以当 x=1,2,3,4,... 时,它会给出不同的颜色,如红色,绿色,青色,蓝色......等等。

最佳答案

也许您对使用 HSL/HSV 颜色更感兴趣。定义饱和度和亮度并调整色调以获得不同的颜色。查看HSL and 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% 的百分比来定义该属性的强度。它们很难解释,所以我快速做了一个 fiddle that demonstrates this.

因此,为了回答您的问题,有一个很好的公式来调整颜色,它仅取决于您想要如何更改它。在 RGB 世界中,您可以通过统一降低值来使事物变暗,反之则通过提高值来使事物变暗。您可以通过按预期调整各个颜色值来增加不同颜色的存在。但是,如果您尝试循环整个色轮,那么使用 RGB 值就很困难( although entirely possible )。真正值得吸取的教训是,定义特定颜色的方法有很多种,并且每种方法都有不同的遍历光谱的方法。 HSL 和 HSLA 对于许多人来说非常直观,因为实际上不需要猜测它的值。从色轮中选择一个特定的色调,记住ROYGBIV就像你想象的 0-359 之间的值一样。根据您希望颜色的大胆程度定义饱和度,然后根据亮度定义亮度。在大多数情况下,它比 RGB 有用得多,正如您将在 fiddle 中看到的那样。使用 JavaScript 制作整个色谱的子集只需要几行代码。

关于css - 是否有一个公式可以在 RGB 表示中获得不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19142134/

相关文章:

Python:确定一个字符串是否包含数学?

math - 部分密文的RSA加密和解密?

javascript - 为什么这些列表项的位置不正确?

python - 在 R 或 Python 中使用邮政编码绘制颜色图

javascript - 模态/灯箱打开时如何停止背景滚动体

css - 通过 css 根据堆栈中显示的系统字体调整字体大小

objective-c - 与 Quartz Composition 的代码交互

performance - Windows 7 中的 explorer.exe 和 dwm.exe 问题

javascript - DOM 操作问题

基于媒体查询的 CSS 过渡