小编Red*_*yAu的帖子

如何检查背景颜色的亮度来决定其上写入的文本颜色

我有一个简单的问题,但我找不到答案。请注意,我几乎是一个完全的初学者。

所以我有一个应用程序(它不是我的,但我正在为它做出贡献),并且在颜色背景上书写,用户可以更改它。如果背景足够亮,则文字应显示为黑色,如果背景不够亮,则文字应保持白色。

该应用程序是一款面向中小学生的学校日记应用程序,连接到匈牙利全州范围的学校日记服务。这里,最好的注释是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 …
Run Code Online (Sandbox Code Playgroud)

background colors brightness luminance flutter

4
推荐指数
1
解决办法
3477
查看次数

标签 统计

background ×1

brightness ×1

colors ×1

flutter ×1

luminance ×1