我试着用BackDropFilter做一些类似于堆叠中的两个图像(其中一个明显填充了黑色)的事情。但结果会模糊堆栈下面的所有东西(即使是在图像的alpha区域)。我已经搜索了这个效应,但还没有找到答案。如果你能给我一个可能的解决方案或路径来实现这个效果,我将不胜感激。
children: <Widget>[
ClipRect(
child: BackdropFilter(
child:Image.asset('assets/leopard.png', color: Colors.black,),
filter: prefix0.ImageFilter.blur(sigmaX: 5, sigmaY: 5),
),
),
Image.asset('assets/leopard.png',),
] ,```
[1]: https://i.stack.imgur.com/iLKYo.jpg
发布于 2021-06-24 12:04:00
您可以使用simple_shadow。以下是该项目的示例:
SimpleShadow(
child: Image.asset('images/bird.png'),
opacity: 0.6, // Default: 0.5
color: Colors.blue, // Default: Black
offset: Offset(5, 5), // Default: Offset(2, 2)
sigma: 7, // Default: 2
)
我已经验证了这一点,甚至在使用flutter_svg时也是如此。
发布于 2019-11-21 06:39:17
将图像包裹在材质中,并添加立面,这应该会添加阴影效果。例如。
Material(
elevation: 5.0,
child: Image.asset('assets/leopard.png',),)
编辑:在PNG文件中添加一个长方体阴影(如果我在Leopard上没弄错的话)。使用两张图片,假设豹的背景是透明的,
Stack(
children :<Widget>[
Opacity(child: Image.asset(imagePath, color: Colors.black), opacity: 0.2),
ClipRect(child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5.0, sigmaY: 5.0),
child: Image.asset(imagePath)))],)
https://stackoverflow.com/questions/58962184
复制相似问题