首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过编程选择对比度好的RGB颜色?

如何通过编程选择对比度好的RGB颜色?
EN

Stack Overflow用户
提问于 2011-09-01 01:33:41
回答 2查看 12.8K关注 0票数 20

假设在你的程序中:

  1. color A是一种我们随机选择的颜色,了解color B color A**?**

color B color Ahow can I pick a be acolor A**?**be a high contrast

这个问题可以进一步简化为:“想象两个相邻的方块都充满了颜色,对于人眼来说,颜色是不一样的()应该是明确的。”

示例:

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

回答 2

Stack Overflow用户

回答已采纳

发布于 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

  • Contrast

有一个很好的例子in this site,但他计算两种颜色在哪里足够,而不是如何获得它们。

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

互补色调:将颜色从RGB转换为HSV后,互补色调将为180度(或0.5度,0-1规格化色调值)。This site在PHP中提供了一些关于它的信息。

票数 12
EN

Stack Overflow用户

发布于 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表示新的蓝色值。

通过编程的方式来实现这一点并不是太难,并且这一次它可能真的适用于您正在尝试做的事情。

祝好运!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7260989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档