我有一个简单的问题,但是我找不到答案。 请注意,我几乎是个完全的新手。
所以我有一个应用程序(不是我的,但我正在为它做贡献),里面有文字和彩色背景,用户可以更改背景颜色。 如果背景足够亮,则文字应该显示为黑色,但如果背景不够亮,则应该显示为白色。
该应用程序是一款针对匈牙利小学和中学生的校园日记应用程序,连接到全国范围的校园日记服务。在此,最好的记录是5分,最差的是1分。用户可以在设置中设置每个等级的颜色。目前,只有笔记“4”的代码硬编码为具有黑色文本(因为默认情况下“4”笔记的背景色为黄色),所有其他文本都是白色的。这就是我想要自动化的。
目前的代码:
switch (evaluation.NumberValue) {
case 1:
bColor = globals.color1;
fColor = Colors.white;
break;
case 2:
bColor = globals.color2;
fColor = Colors.white;
break;
case 3:
bColor = globals.color3;
fColor = Colors.white;
break;
case 4:
bColor = globals.color4;
fColor = Colors.black; //This should be white if color4 is dark enough. Same applies to all of them.
break;
case 5: //I'm looking for something like this:
bColor = globals.color5;
fColor = (lightLevel(globals.color5) > 50) ? Colors.black : Colors.white;
break;
default:
bColor = Colors.black;
fColor = Colors.white;
break;
}
我正在寻找类似以下内容的东西:
case 5: //I'm looking for something like this:
bColor = globals.color5;
fColor = (lightLevel(globals.color5) > 50) ? Colors.black : Colors.white;
break;
感谢任何帮助!
computeLuminance
。记住这一点。 - PrzemekTom