颜色处理util/color
颜色计算
<input type="color" id="input" value="#ff0000" style="padding: 0">
<br>
<input type="number" id="input_value" step="0.1" min="-1" max="1" value="0.1">
<button onclick="input.value=darken(input.value, +input_value.value)">更暗</button>
<button onclick="input.value=lighten(input.value, +input_value.value)">更亮</button>
<button onclick="input.value=mix(input.value, '#fff', +input_value.value)">更透明</button>
<br>
<input type="color" id="input_mix" value="#0000ff" style="padding: 0">
<button onclick="input.value=mix(input.value, input_mix.value)">混合</button>
⏷
另参考
API
全局
函数 | 描述 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
⮞
toRGB(color)(color:
将任意颜色格式转为 RGB 对象格式。
返回值类型: 返回包含 RGB 信息的对象。如果原对象已经是 RGB 格式则返回原对象。 示例
|
将任意颜色格式转为 RGB 对象格式。 |
|||||||||||||||||||||||||||||
⮞
toHSL(color)(color:
|
将任意颜色格式转为 HSL 对象格式。 |
|||||||||||||||||||||||||||||
⮞
toHSV(color)(color:
|
将任意颜色格式转为 HSV 对象格式。 |
|||||||||||||||||||||||||||||
⮞
toInt(color)(color:
将任意格式的颜色转为 32 位整数。
返回值类型: 返回 32 位整数,从高位到地位分别是:1 - 透明度、红值、绿值、蓝值。 示例
|
将任意格式的颜色转为 32 位整数。 |
|||||||||||||||||||||||||||||
⮞
format(color, ...)(color:
格式化颜色为字符串。
返回值类型: 返回格式化后的字符串。 示例
|
格式化颜色为字符串。 |
|||||||||||||||||||||||||||||
⮞
spin(color, value)<T>(color:
|
调整颜色的色相。 |
|||||||||||||||||||||||||||||
⮞
saturate(color, value)<T>(color:
|
调整颜色的饱和度。 |
|||||||||||||||||||||||||||||
⮞
darken(color, value)<T>(color:
|
减少颜色的亮度。 |
|||||||||||||||||||||||||||||
⮞
lighten(color, value)<T>(color:
|
增加颜色的亮度。 |
|||||||||||||||||||||||||||||
⮞
fade(color, value)<T>(color:
|
调整颜色的透明度。 |
|||||||||||||||||||||||||||||
⮞
alpha(color, value)<T>(color:
|
设置颜色的透明度。 |
|||||||||||||||||||||||||||||
⮞
invert(color)<T>(color:
|
获取颜色的反色。 |
|||||||||||||||||||||||||||||
⮞
mix(color1, color2, ...)<T>(color1:
|
叠加两个颜色并返回新颜色。 |
|||||||||||||||||||||||||||||
⮞
luma(color)(color:
获取颜色的亮度。
返回值类型: 返回亮度,值越大亮度越高(越接近白色),范围为 0 到 1(含)。 示例
|
获取颜色的亮度。 |
|||||||||||||||||||||||||||||
⮞
contrast(color, color1, color2, ...)<T, U>(color:
计算和指定颜色对比度最大的颜色。
返回值类型: 返回给定两个颜色中的其中一个。 示例
|
计算和指定颜色对比度最大的颜色。 |
RGB 接口
表示一个由红、绿、蓝三原色组成的颜色。
字段 | 类型 | 描述 |
---|---|---|
⮞
r
: number
红值(Red)。范围为 0 到 255(含)。 |
number
|
红值(Red)。范围为 0 到 255(含)。 |
⮞
g
: number
绿值(Green)。范围为 0 到 255(含)。 |
number
|
绿值(Green)。范围为 0 到 255(含)。 |
⮞
b
: number
蓝值(Blue)。范围为 0 到 255(含)。 |
number
|
蓝值(Blue)。范围为 0 到 255(含)。 |
⮞
a
: number
透明度(Alpha)。范围为 0 到 1(含)。 |
number
|
透明度(Alpha)。范围为 0 到 1(含)。 |
HSL 接口
表示一个由色调、饱和度、亮度组成的颜色。
字段 | 类型 | 描述 |
---|---|---|
⮞
h
: number
色调(Hue)。范围为 0 到 359(含)。 |
number
|
色调(Hue)。范围为 0 到 359(含)。 |
⮞
s
: number
饱和度(Saturation)。范围为 0 到 1(含)。 |
number
|
饱和度(Saturation)。范围为 0 到 1(含)。 |
⮞
l
: number
亮度(Lightness)。范围为 0 到 1(含)。 |
number
|
亮度(Lightness)。范围为 0 到 1(含)。 |
⮞
a
: number
透明度(Alpha)。范围为 0 到 1(含)。 |
number
|
透明度(Alpha)。范围为 0 到 1(含)。 |
HSV 接口
表示一个由色调、饱和度、明度组成的颜色。
字段 | 类型 | 描述 |
---|---|---|
⮞
h
: number
色调(Hue)。范围为 0 到 359(含)。 |
number
|
色调(Hue)。范围为 0 到 359(含)。 |
⮞
s
: number
饱和度(Saturation)。范围为 0 到 1(含)。 |
number
|
饱和度(Saturation)。范围为 0 到 1(含)。 |
⮞
v
: number
明度(Value)。范围为 0 到 1(含)。 |
number
|
明度(Value)。范围为 0 到 1(含)。 |
⮞
a
: number
透明度(Alpha)。范围为 0 到 1(含)。 |
number
|
透明度(Alpha)。范围为 0 到 1(含)。 |
Color 类型
表示一个颜色。
同:string | number | RGB | HSL | HSV
说明
颜色有以下格式:
{r: 0, g: 0, b: 0, a: 1}
{h: 0, s: 0, l: 0, a: 1}
{h: 0, s: 0, v: 0, a: 1}
"#000"
"#000000"
"#000000ff"
"rgb(0, 0, 0)"
"rgba(0, 0, 0, 1)"
"hsl(0, 0, 0)"
"hsla(0, 0, 0, 1)"
- 0x000000