给定原色,如何通过材料设计准则确定OnPrimary颜色是什么?

时间:2020-03-09 18:34:59

标签: colors angular-material material-design material-ui materialize

material color tool中,您可以选择一个原色,并在其中显示文本色。

给出十六进制字符串中的一种颜色,如何知道该颜色上建议的文本颜色是什么?

例如

某些颜色将建议文本为黑色

enter image description here

其他人会说它应该是白色的

enter image description here

观察:任何语言都可以,只想知道执行此操作的逻辑/功能是什么。

2 个答案:

答案 0 :(得分:0)

他们写了一些关于text legibility的东西。除此之外,我玩了一些。似乎它是该颜色的r,g,b部分的加权平均值。蓝色的影响明显大于绿色,绿色的影响略小于红色。因此,它可能类似于(1*r + 0.9*g + 1.2*b) / 3.1 > 0xff(2.85是权重之和)。如果超过阈值,则文本为黑色,否则为白色。

答案 1 :(得分:0)

在react的material-ui中,他们有一个"formula"来创建它,它使用与material components相同的逻辑。