如何以编程方式选择对比度好的RGB颜色?

Jam*_*sev 19 rgb colors

假设,在你的程序中:

  1. color A 是我们随机选择的颜色

  2. 知道了color A,我怎样才能选择color B与之形成鲜明对比的color A

这个问题可以进一步简化为:"想象两个颜色彼此相邻的2个方格.人眼应该清楚地看到颜色不一样"

例:

  • 黑色 - >白色
  • 蓝色 - >白色

wol*_*ajr 9

Web内容可访问性指南(WCAG)2.0中提供了一些信息(http://www.w3.org/TR/2008/REC-WCAG20-20081211)

  1. 视觉对比:http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast

  2. 对比度:http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef

  3. 相对亮度:http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef

这个网站有一个很好的例子,但他计算出两种颜色足够的地方,而不是如何获得它们.

要选择具有良好对比度的颜色,我会选择补色:例如,选择随机颜色A,将其转换为HSV空间,获得互补色调.

互补色调:在将颜色从RGB转换为HSV后,互补色调将为180度appart(或0.5,在0-1标准化的色调值中).这个网站在PHP中有一些关于它的东西