是否可以生成颜色?

问题描述:

我知道,已是这个职位,但我还是不太明白。我想有一个脚本,自动生成颜色代码({color:Lighter}),这将是{color:Links}轻型版本。我想的{color:Links}使用十六进制代码脚本采取的ColorCode,(它必须是十六进制),并使其像10倍更轻。非常接近白色,但不够白,以至于仍然可以看到颜色。有人可以给我一个代码吗?是否可以生成颜色?

+2

不具备的代码编写的,但最简单的方法是将十六进制转换HSL,然后更改l(亮度)使其变亮,然后转换回十六进制。 – 2011-05-22 12:17:28

什么,你正在做的是两种颜色之间的交融,让你计算这样的颜色分量:

C = C0 +(C1-C0)* X

其中c0c1这两种颜色,而x是它们之间的平衡。您将使用接近1的值以获得接近第二个的颜色。我完全不知道你所说的“轻十倍”的意思,但你可以尝试像值0.9,它会给你一个融合其中白色代表结果的90%。

由于白色是RGB(255,255,255),您计算RGB值:

r = r0 + (255-r0) * 0.9 
g = g0 + (255-g0) * 0.9 
b = b0 + (255-b0) * 0.9 

然后你只需使用它们作为CSS 'rgb('+r+','+g+','+b+')'

如果你需要它作为一个十六进制代码,你可以像这样格式化:

'#'+(256+r).toString(16).substr(1)+(256+g).toString(16).substr(1)+(b+256).toString(16).substr(1) 
+0

那是什么编程语言? – 2011-05-22 12:30:15

+0

@James Charless Dickinson:Javascript。 – Guffa 2011-05-22 12:49:37

这是一些有办法解决的2个*的问题。

Programmatically Lighten a Color

Programmatically Lighten or Darken a hex color (or rgb, and blend colors)

您可能需要考虑RGB(0,0,0)除了#FFFFFF(十六进制)格式的格式。

+0

好颜色上使用元标签的tumblr的主题。 – 2011-05-22 12:21:27