在Flutter中,有没有一种方法可以检查颜色是深色还是浅色,即黑色或白色,然后获取布尔值 true 或 false?
在Flutter中,有没有一种方法可以检查颜色是深色还是浅色,即黑色或白色,然后获取布尔值 true 或 false?
您还可以使用这种方法来获取亮度并应用由W3C指定的阈值。在Dart代码中,它可能是这样的:
Color getFontColorForBackground(Color background) {
return (background.computeLuminance() > 0.179)? Colors.black : Colors.white;
}
在此可以找到更多背景信息:https://dev59.com/sW865IYBdhLWcg3wLrhE#3943023
为了检查颜色是暗还是亮,我们需要将该颜色转换为其灰度颜色。从RGB值计算任何颜色的灰度值的公式为:
灰度值 = (0.299 * 红色) + (0.587 * 绿色) + (0.114 * 蓝色)
然后检查:
if(grayscale > 128){
// color is light
}else{
// color is dark
}