假设在你的程序中:
>颜色A是我们随机选择的颜色
知道颜色A,如何选择与颜色A高度对比的颜色B?
这个问题可以进一步减少到:“想象2个方块充满颜色,彼此相邻,对于人眼应该明确清楚颜色不一样”
例:
>黑 – >白色
>蓝色 – >白色
解决方法
“网页内容辅助功能指南”(WCAG)2.0中有一些信息(http://www.w3.org/TR/2008/REC-WCAG20-20081211)
>视觉对比:http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast
>对比:http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
>相对亮度:http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
有一个很好的例子in this site,但他计算两个颜色是足够的,不是如何得到它们。
要选择具有良好对比度的颜色,我将使用补充颜色:例如,选择随机颜色A,将其转换为HSV空间,获得补充色调。
互补色调:将颜色从RGB转换为HSV后,补色色将为180度(或0.5,0-1标准化色调值)。 This site在PHP中有一些关于它的内容