当前位置:  开发笔记 > 人工智能 > 正文

如果知道背景颜色,如何找到漂亮的字体颜色?

如何解决《如果知道背景颜色,如何找到漂亮的字体颜色?》经验,为你挑选了1个好方法。

似乎有很多色轮,颜色选择器和颜色匹配器网络应用程序,在那里你给出一种颜色,他们会发现一些其他颜色,当组合使用时会产生谐波布局.但是,它们中的大多数仅关注背景颜色,并且在每种背景颜色上打印的任何文本(如果在预览中完全打印文本)是黑色或白色.

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

有人知道这样的申请吗?我更喜欢Web应用程序,我需要下载任何内容.谢谢.



1> Aaron Digull..:

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

顺化是[0,360].要找到"相反"的颜色(想想色轮),只需添加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))

并使用它.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有