二维码生成
输入网址或文字即时生成二维码,纠错级别与尺寸可调,下载 PNG 或无限放大的 SVG。
一种颜色值进去,HEX、RGB、HSL、HSV、CMYK 全出来,顺带算清 WCAG 对比度。
多半是取整方式不同。这里 HSL 的 H 取整数度、S 和 L 取整数百分比,所以反算回 RGB 时可能有 1 到 2 的误差,但视觉上看不出来。需要精确往返时请直接使用 HEX 或 rgb() 值,这两个是完全无损的。
只能当参考。屏幕是 RGB 加色,印刷是 CMYK 减色,两者的色域不同,尤其是鲜艳的荧光色、纯蓝紫色印不出来。真正印刷请用设计软件里的 ICC 配置文件转成印刷色,并要求提供打样。
先把每个通道值除以 255,做伽马校正(小于等于 0.03928 时除以 12.92,否则按 ((v+0.055)/1.055)^2.4),再按 0.2126R + 0.7152G + 0.0722B 加权得到相对亮度 L,最后算 (L亮+0.05)/(L暗+0.05)。所以对比度永远大于等于 1,且与颜色的先后顺序无关。
WCAG 2.1 的 AA 级要求正文文字对比度不低于 4.5:1;18.66 像素(14pt)粗体或 24 像素(18pt)以上的大字号可以放宽到 3:1。界面里的图标、边框这类非文字元素,AA 要求 3:1。AAA 级则要求正文 7:1、大字号 4.5:1。
相对亮度是 WCAG 定义的标准值,做了伽马校正,用来算对比度;YIQ 里的 Y 是模拟电视时代的线性加权(0.299R+0.587G+0.114B),不做伽马校正,更接近「一眼看上去亮不亮」。判断该压白字还是黑字时看 YIQ,判断合规性时看相对亮度。
输入 rgba() 时会读取 RGB 三个通道,忽略 alpha,因为转换目标格式里没有透明度这一项。半透明颜色叠在背景上的实际观感取决于背景色,需要精确判断请先把叠加结果算成一个实色再填进来。
本工具的所有处理都在你的浏览器里完成,不需要注册、不需要安装,也不会上传你的数据。