如果已知背景颜色,如何找到好看的字体颜色?

似乎有这么多的色轮,颜色选择器和颜色匹配器的网络应用程序在那里,你给一种颜色,他们会发现一些其他颜色,将创建一个谐波布局,当组合使用。 然而,其中大多数只关注背景颜色,任何印在每种背景颜色上的文本(如果在预览中完全打印文本)都是黑色或白色。

我的问题是不同的。 我知道我想用于文本区域的背景颜色。 我需要帮助的是选择一些颜色(越多越好),我可以在此背景上用作字体颜色。 最重要的是,颜色将确保字体的可读性(对比度不太低,也可能不会太高以避免眼睛受到压力),当然,前景和背景的组合看起来不错。

任何人都知道这样的应用程序? 我更喜欢一个Web应用程序,我必须下载任何东西。 谢谢。


如果您需要算法,请尝试以下操作:将颜色从RGB空间转换为HSV空间(色调,饱和度,值)。 如果您的UI框架无法执行此操作,请查看以下文章:http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV

色相在[0,360]。 要找到“相反”的颜色(想想colorwheel),只需添加180度:

h = (h + 180) % 360;

对于饱和度和数值,请将其反转:

l = 1.0 - l;
v = 1.0 - v;

转换回RGB。 即使大多数组合看起来很丑陋,这也应该始终保持高对比度。

如果你想避免“丑陋”的部分,建立一个表与几个“好”的组合,找到一个最小的差异

def q(x):
    return x*x
def diff(col1, col2):
    return math.sqrt(q(col1.r-col2.r) + q(col1.g-col2.g) + q(col1.b-col2.b))

并使用它。


我建议你尝试一些看起来很好的颜色(如果你愿意,可以使用其他人在其答案中建议的其中一种工具),但不要忘记存在色盲 ,因此在以下地址测试您的页面

http://colorfilter.wickline.org/


查看kuler,这是一个很好的资源,可以找到可以很好地结合在一起的颜色,只需要搜索HTML颜色代码(例如FF9900)即可。 它不会将结果限制为只包含您选择的颜色的高对比度颜色的设置,但这些设置通常会包含低对比度和高对比度颜色的组合。

链接地址: http://www.djcxy.com/p/87321.html

上一篇: How to find good looking font color if background color is known?

下一篇: font colors change when printing