在material color tool中有一个可以选择原色的地方,它向您显示原色上的文本颜色。
给出十六进制字符串中的颜色,如何知道该颜色上建议的文本颜色是什么?
例如
某些颜色会建议文本为黑色
其他人会说应该是白色
观察:任何语言都可以,只想知道执行此操作的逻辑/函数是什么。
他们写了一些关于text legibility的内容。除此之外,我玩了一些。似乎它是该颜色的r,g,b部分的加权平均值。蓝色的影响明显大于绿色,绿色的影响略小于红色。因此可能类似于(1*r + 0.9*g + 1.2*b) / 3.1 > 0xff
(2.85是权重之和)。如果超过阈值,则文本为黑色,否则为白色。