假设在你的程序中:
color A
是一种我们随机选择的颜色,了解color B
color A
**?**,color B
color A
,how can I pick a be acolor A
**?**be a high contrast
这个问题可以进一步简化为:“想象两个相邻的方块都充满了颜色,对于人眼来说,颜色是不一样的()应该是明确的。”
示例:
发布于 2011-09-01 01:48:16
网页内容可访问性指南(WCAG2.0) (http://www.w3.org/TR/2008/REC-WCAG20-20081211)中有一些信息
亮度视觉对比度:http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast
有一个很好的例子in this site,但他计算两种颜色在哪里足够,而不是如何获得它们。
要选择对比度好的颜色,我会选择补色:例如,选择随机颜色A,将其转换到HSV空间,获得互补色调。
互补色调:将颜色从RGB转换为HSV后,互补色调将为180度(或0.5度,0-1规格化色调值)。This site在PHP中提供了一些关于它的信息。
发布于 2011-09-01 01:57:52
当我在寻找一种更好的方法时,我偶然发现了Adobe Illustrator指南,其中提到了它们如何创建互补色。他们说:
补色根据选定颜色中最高和最低RGB值的总和,将颜色的每个分量更改为新值。Illustrator将当前颜色的最低和最高RGB值相加,然后从该数值中减去每个组件的值以创建新的RGB值。例如,假设您选择一种RGB值为102的红色、153的绿色和51的蓝色。Illustrator将高(153)和低(51)值相加,以得到新值(204)。从新值中减去现有颜色中的每个RGB值以创建新的互补RGB值: 204 - 102 (当前红色值)= 102表示新的红色值,204 - 153 (当前绿色值)= 51表示新的绿色值,204 - 51 (当前蓝色值)= 153表示新的蓝色值。
通过编程的方式来实现这一点并不是太难,并且这一次它可能真的适用于您正在尝试做的事情。
祝好运!
https://stackoverflow.com/questions/7260989
复制相似问题