Flutter:得到 css :在图像应用背景的一种效果之后
Flutter: getting css :after kind of effect for image to apply background
我有 CSS 规则来为具有白色背景的图像添加背景,如下所示
.product-img:after {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(40,44,63,.05);
content: '';
background-blend-mode: overlay;
}
结果[![在此处输入图片描述][3]][3]
想要在 flutter 中获得相同的效果,我尝试了几个小部件,如 Stack、Position,
但达不到同样的效果。
我的图片加载小部件:
FadeInImage(
image: NetworkImage(
"my-url"
),
placeholder: AssetImage('assets/images/load_fut.png'),
),
如果“图像 [that] 具有白色背景”是指透明图像,那么要为该类型的图像赋予背景颜色,您可以使用 Container
小部件并给它你想要的颜色,这将是背景颜色。
如下所示:
Container(
color: Color.fromRGBO(40, 44, 100, .05),
child: Image.network(imageUrl)
)
您的图像似乎有纯白色背景。所以要在白色背景上显示需要用混合模式播放位来达到预期的效果。这是接近您要实现的输出。
更新:使用cached_network_image
添加依赖
cached_network_image: ^2.2.0+1
@override
_ColorPageState createState() => _ColorPageState();
}
class _ColorPageState extends State<ColorPage> {
@override
Widget build(BuildContext context) {
return
CachedNetworkImage(
height: 200,
width: 400,
colorBlendMode: BlendMode.darken,
color: Color.fromARGB(20, 40, 44, 63),
imageUrl:
"https://tacskey.com/image/cache/catalog/categories/Cold%20Cuts/chicken-nuggets-600x350.jpg",
placeholder: (context, url) => Image.asset(
'assets/loader_.png',
height: 50,
width: 50,
),
errorWidget: (context, url, error) => Icon(Icons.error),
);
}
}
输出gif:
我有 CSS 规则来为具有白色背景的图像添加背景,如下所示
.product-img:after {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(40,44,63,.05);
content: '';
background-blend-mode: overlay;
}
结果[![在此处输入图片描述][3]][3]
想要在 flutter 中获得相同的效果,我尝试了几个小部件,如 Stack、Position,
但达不到同样的效果。
我的图片加载小部件:
FadeInImage(
image: NetworkImage(
"my-url"
),
placeholder: AssetImage('assets/images/load_fut.png'),
),
如果“图像 [that] 具有白色背景”是指透明图像,那么要为该类型的图像赋予背景颜色,您可以使用 Container
小部件并给它你想要的颜色,这将是背景颜色。
如下所示:
Container(
color: Color.fromRGBO(40, 44, 100, .05),
child: Image.network(imageUrl)
)
您的图像似乎有纯白色背景。所以要在白色背景上显示需要用混合模式播放位来达到预期的效果。这是接近您要实现的输出。
更新:使用cached_network_image
添加依赖
cached_network_image: ^2.2.0+1
@override
_ColorPageState createState() => _ColorPageState();
}
class _ColorPageState extends State<ColorPage> {
@override
Widget build(BuildContext context) {
return
CachedNetworkImage(
height: 200,
width: 400,
colorBlendMode: BlendMode.darken,
color: Color.fromARGB(20, 40, 44, 63),
imageUrl:
"https://tacskey.com/image/cache/catalog/categories/Cold%20Cuts/chicken-nuggets-600x350.jpg",
placeholder: (context, url) => Image.asset(
'assets/loader_.png',
height: 50,
width: 50,
),
errorWidget: (context, url, error) => Icon(Icons.error),
);
}
}
输出gif: