颜色工具 API
随机颜色;HEX / RGB / HSL 互转,附 HSV、CMYK、亮度与 WCAG 对比度
数据来源:本地计算
返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。
生成随机颜色
GET /api/color/random
请求参数
count:数量(1~100),示例5format:value 的格式:hex / rgb / hsl,示例rgb
返回字段
[](object):data 是数组,长度等于 count;每项是一个在 RGB 空间均匀随机的不透明颜色[].value(string):按 format 输出的颜色:hex 为 #rrggbb(小写),rgb 为 rgb(r, g, b)(0~255 整数),hsl 为 hsl(h, s%, l%)(色相 0~360 度,饱和度和亮度为百分比,保留 1 位小数)[].hex(string):同一颜色的十六进制写法 #rrggbb(小写),不论 format 为何都会返回[].textColor(string):建议在该颜色背景上使用的文字颜色:black(黑字)或 white(白字),取与背景对比度(WCAG)更高的一个
颜色格式转换与对比度计算
GET /api/color/convert
请求参数
value(必填):颜色,自动识别:#fff、#ffff、#ffffff、#ffffffaa(# 在网址中要写成 %23,也可以省略 #)、rgb(255, 0, 0)、rgba(255, 0, 0, 0.5)、rgb(255 0 0 / 50%)、hsl(210, 100%, 50%)、hsla(…);分量可用百分比,色相可带 deg/turn/rad/grad 单位,示例rgb(30, 144, 255)
返回字段
input(string):请求参数 value 去掉首尾空白后的原文format(string):识别出的输入格式:hex3(#rgb)、hex4(#rgba)、hex6(#rrggbb)、hex8(#rrggbbaa)、rgb、rgba、hsl、hsla(按函数名区分,rgb() 里也可以带 alpha)hex(string):十六进制颜色 #rrggbb(小写,不含透明度)hex8(string):带透明度的十六进制颜色 #rrggbbaa(小写),不透明时末两位为 ffalpha(number):不透明度 0~1(保留 3 位小数),输入没有透明度时为 1rgb(object):RGB 表示(hsl 输入换算后四舍五入为整数)rgb.r(number):红色分量,0~255 整数rgb.g(number):绿色分量,0~255 整数rgb.b(number):蓝色分量,0~255 整数rgb.css(string):CSS 写法,如 rgb(30, 144, 255)(不含透明度)rgba(string):带透明度的 CSS 写法,如 rgba(30, 144, 255, 0.5)hsl(object):HSL 表示;输入是 hsl/hsla 时直接沿用输入值(色相规整到 0~360),否则由 RGB 换算hsl.h(number):色相,0~360 度(不含 360),保留 1 位小数;灰色(无彩色)为 0hsl.s(number):饱和度,0~100(百分比),保留 1 位小数hsl.l(number):亮度(lightness),0~100(百分比),保留 1 位小数hsl.css(string):CSS 写法,如 hsl(209.6, 100%, 55.9%)(不含透明度)hsla(string):带透明度的 CSS 写法,如 hsla(209.6, 100%, 55.9%, 0.5)hsv(object):HSV(HSB)表示,由 RGB 换算hsv.h(number):色相,0~360 度(不含 360),保留 1 位小数hsv.s(number):饱和度,0~100(百分比),保留 1 位小数hsv.v(number):明度(value/brightness),0~100(百分比),保留 1 位小数cmyk(object):CMYK 表示(按简单公式由 RGB 换算,不含印刷色彩管理,仅供参考)cmyk.c(number):青色,0~100(百分比),保留 1 位小数cmyk.m(number):品红,0~100(百分比),保留 1 位小数cmyk.y(number):黄色,0~100(百分比),保留 1 位小数cmyk.k(number):黑色,0~100(百分比),保留 1 位小数brightness(number):感知亮度,0~255,保留 1 位小数,公式 (299R + 587G + 114B) / 1000(W3C 可访问性评估建议的 YIQ 亮度);一般大于 128 算浅色luminance(number):WCAG 2.x 相对亮度,0(纯黑)~1(纯白),保留 4 位小数;按不透明颜色计算,忽略 alphacontrast(object):与白色、黑色的 WCAG 对比度(1~21,保留 2 位小数;正文文字 ≥ 4.5 达到 AA 级,≥ 7 达到 AAA 级);按不透明颜色计算,忽略 alphacontrast.white(number):与白色(#ffffff)的对比度