我想改变文本(和图标)的颜色基于背景图像的可见性。
我尝试过:使用palette_generator包检查背景图像的主要颜色,并使用flutter_statusbarcolor包中的WhiteForGroundForColor函数(返回一个bool)为我的文本(和图标)颜色选择黑色或白色。
问题是:有时主色变成空。在我的测试中,这种情况发生在黑色和白色,我不知道有什么方法可以找出哪一种。
Future<bool> useWhiteTextColor(String imageUrl) async {
PaletteGenerator paletteGenerator =
await PaletteGenerator.fromImageProvider(
NetworkImage(imageUrl),
// Images are square
size: Size(300, 300),
// I want the dominant color of the top left section of the image
region: Offset.zero & Size(40, 40),
);
Color dominantColor = paletteGenerator.dominantColor?.color;
// Here's the problem
// Sometimes dominantColor returns null
// With black and white background colors in my tests
if (dominantColor == null) print('Dominant Color null');
return useWhiteForeground(dominantColor);
}
我为其他语言找到了其他方法,但我不知道在Dart中实现相同方法的方法。
附加注意:我的实际代码包括一些附加的并发症。我使用的是一个SliverAppBar,这里我想确定flexibleSpace扩展时的标题和图标颜色。我改变他们的颜色,当崩溃时,在社区的帮助下,基于这一点。
我用下面的方法来找出要用哪一个(黑的或者白的)。
Color getTextColor(Color color) {
int d = 0;
// Counting the perceptive luminance - human eye favors green color...
double luminance =
(0.299 * color.red + 0.587 * color.green + 0.114 * color.blue) / 255;
if (luminance > 0.5)
d = 0; // bright colors - black font
else
d = 255; // dark colors - white font
return Color.fromARGB(color.alpha, d, d, d); }
color类已经有一个计算亮度的方法,称为computeLuminance()
Color textColor = color.computeLuminance() > 0.5 ? Colors.black : Colors.white;
问题内容: 假设我要在CSS中渲染箭头,箭头应具有头部,尾部和灵活的宽度,以便可以包含文本。我当然可以创建多个div来获得所需的内容,但是如何在CSS3中完成呢? 我可以使用多个背景图片: 的HTML: 这给了我一个带有箭头和尾巴的透明中间部分。似乎不可能在中间部分指定颜色。 仅使用一张背景图像,您可以执行以下操作: 我知道这在很多方面都是可行的,但是背景颜色属性是否真的从速记定义中丢失了? 问题
在超文本标记语言中,我什么时候使用颜色,背景颜色和背景标签有什么区别? 有什么区别?
本文向大家介绍怎么改变选中文本的文字颜色和背景色?相关面试题,主要包含被问及怎么改变选中文本的文字颜色和背景色?时的应答技巧和注意事项,需要的朋友参考一下 ::selection { background-color: #222; color: white; }
background(int $color, int $pattern = self::PATTERN_SOLID): self int $color $format = new \Vtiful\Kernel\Format($fileHandle); $backgroundStyle = $format->background( \Vtiful\Kernel\Format::COLO
问题内容: 我有一个DIV,我想放置一个图案作为背景。此图案是灰色的。为了使它更好一点,我想在上面放一个透明的颜色“层”。以下是我尝试过的方法,但是没有用。有没有办法将彩色图层放在背景图像上? 这是我的CSS: 问题答案: 这里是: 对此的HTML: 当然,如果其中没有其他元素,则需要为该类定义宽度和高度
本文向大家介绍Opencv图像处理之轮廓外背景颜色改变,包括了Opencv图像处理之轮廓外背景颜色改变的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Opencv轮廓外背景颜色改变的具体代码,供大家参考,具体内容如下 自行学习弄得简单代码,使用了图像中的轮廓发现以及提取,再绘制出来,改变轮廓外的像素 首先,头文件,写的比较多,没用的可以自己去除 主函数 回调函数 以上就是本文的全部内