通过MCP连接 →

输入计算

数学公式

数学公式: 对比度计算器

广告

结果

对比度
21:1
WCAG 2.x 相对亮度比值
前景色亮度 0
背景色亮度 1
WCAG AA — 普通文字 (≥ 4.5) Pass
WCAG AA — 大号文字 (≥ 3.0) Pass
WCAG AAA — 普通文字 (≥ 7.0) Pass
WCAG AAA — 大号文字 (≥ 4.5) Pass

什么是对比度计算器?

这款工具采用官方的 WCAG 2.x 公式,计算前景色与背景色之间的颜色对比度。对比度是无障碍设计的关键指标:它能判断文字对于低视力或色觉障碍的用户是否清晰易读。对比度的取值范围从 1:1(两色完全相同,文字不可见)一直到 21:1(纯黑配纯白)。

对比高低对比度的两组背景文字样例
高对比度(左)易于阅读;低对比度(右)无法通过无障碍检查。

如何使用

分别为前景色(文字)和背景色输入红、绿、蓝三个通道的数值(0–255)。计算器会先对每个通道做线性化处理,计算两种颜色的相对亮度,再在加上 0.05 这个环境光常数后,用较亮值除以较暗值得到对比度。随后它会显示该配色组合是否通过 WCAG AA 与 AAA 在普通文字和大号文字上的要求。

公式详解

对比度的计算公式为 \((L_1 + 0.05) / (L_2 + 0.05)\),其中 \(L_1\) 是较亮颜色的相对亮度,\(L_2\) 是较暗颜色的相对亮度。相对亮度的求法是:先把每个通道缩放到 0–1,再进行伽马变换——若缩放后的值 ≤ 0.03928,则除以 12.92;否则代入 \(((c+0.055)/1.055)^{2.4}\)。线性化后的三个通道按 \(0.2126\cdot R + 0.7152\cdot G + 0.0722\cdot B\) 加权合并,这一权重反映出人眼对绿色更为敏感。

$$\text{Contrast} = \frac{L_1 + 0.05}{L_2 + 0.05}$$$$\text{where}\quad \left\{ \begin{aligned} L_1 &= \max(L_{fg},\, L_{bg}) \\ L_2 &= \min(L_{fg},\, L_{bg}) \\ L_{fg} &= 0.2126\,\ell(\text{Fg R}) + 0.7152\,\ell(\text{Fg G}) + 0.0722\,\ell(\text{Fg B}) \\ L_{bg} &= 0.2126\,\ell(\text{Bg R}) + 0.7152\,\ell(\text{Bg G}) + 0.0722\,\ell(\text{Bg B}) \\ \ell(C) &= \begin{cases} \dfrac{C/255}{12.92} & C/255 \le 0.03928 \\[0.6em] \left(\dfrac{C/255 + 0.055}{1.055}\right)^{2.4} & \text{otherwise} \end{cases} \end{aligned} \right.$$
使用两个亮度值的对比度公式示意图
该比率比较较亮的亮度 \(L_1\) 和较暗的亮度 \(L_2\),每个值各加 0.05。

计算示例

白色背景 (255,255,255) 上的黑色文字 (0,0,0):黑色亮度 = 0,白色亮度 = 1。对比度 $$= \frac{1 + 0.05}{0 + 0.05} = \frac{1.05}{0.05} = \textbf{21:1}$$——这是理论上的最高对比度,可以轻松通过所有 WCAG 级别。

常见问题

我需要达到多少对比度? WCAG AA 要求普通文字达到 4.5:1,大号文字(≥18pt 或 14pt 粗体)达到 3:1。AAA 则分别要求 7:1 和 4.5:1。

颜色顺序会影响结果吗? 不会——公式始终用较亮的亮度除以较暗的亮度,因此交换前景色与背景色得到的对比度完全相同。

为什么要加 0.05? 这个常数用来模拟屏幕的环境光反射,这样即使纯黑配纯黑也能得到一个确定且非无穷大的数值。

最后更新: