我们正在开发一个医疗调度系统,它允许用户根据特定的状态定义显示在日历上的颜色。我们的问题是,如果用户选择了深色背景色,而我们使用的是深色字体,字体就不会显示。同样,如果他们选择了浅色,而我们使用的是浅色字体。由于各种原因,我们不想让用户同时设置两种颜色。
但是,我们想知道颜色的十六进制代码是否有特定的模式。也许如果它小于给定值,应该使用深色字体,否则使用浅色字体?
那么,有没有一种智能的方法可以根据用户选择的背景颜色来编程选择字体颜色呢?
艾米
发布于 2011-04-11 03:04:22
您可以使用十六进制代码在数学上计算两种颜色之间的对比度。有了这些信息,问题就是哪种颜色的文本(白色或黑色)与所选的背景颜色具有更大的对比度。该站点展示了如何用PHP或Javascript编写该代码,但也可以很容易地将其改编为其他语言。
http://24ways.org/2010/calculating-color-contrast
发布于 2011-04-11 03:04:46
颜色亮度:http://www.webmasterworld.com/forum88/9769.htm
但是,实际上,为什么不只是反转背景并使用结果颜色作为前景呢?
发布于 2011-04-11 03:07:16
关于你的第一个问题,我相信颜色代码的十六进制值是RGB格式的。这意味着第一个字节是颜色中的红色的量;第二个字节是颜色中的绿色的量;第三个字节是颜色中的蓝色的量。
如果你想猜一种字体颜色,你可以试着看看它离#FFFFFF有多近,如果它小于#777777,就使用深色。
我无论如何都不是色彩专家,所以我不能保证这个答案的正确性。
https://stackoverflow.com/questions/5614011
复制相似问题