繁体   English   中英

魔术 COLORREF/RGB 值来确定何时使用浅色/深色文本

[英]Magic COLORREF/RGB value to determine when to use light/dark text

多年前,在我丢失已久的 Charles Petzold 的 Windows 3.0 编程书籍副本中,记录了一个神奇的 COLORREF 或 RGB 值,您可以使用它来检查是否应该以浅色或深色绘制文本。 例如,如果背景颜色低于此值,则使用黑色文本,如果高于此值,则使用白色文本。 有谁知道/记得这个魔法值是什么?

我不知道 COLORREF,但使用亮度作为阈值我得到了很好的结果:

     Y= 0.3 * R + 0.59 * G + 0.11 * B

颜色表示为 0.0 和 1.0 之间的十进制值。

如果 Y>=0.5 我认为背景“亮”(并使用深色文本),如果 Y<0.5 我做相反的事情。

我记得我还使用了其他公式,包括简单的平均值:

     L = (R+G+B)/3

但我不喜欢结果。 在我看来,绿色比红色和红色比蓝色更有助于亮度,这似乎是合乎逻辑的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM