如何在 Flutter 中的图像中实现 DropShadow / 阴影效果?

Mat*_*nca 5 dart flutter flutter-layout

我试图用 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
Run Code Online (Sandbox Code Playgroud)

Ike*_*ira 0

将图像包裹在材质中并添加标高,这应该会添加阴影效果。例如

    Material(
      elevation: 5.0,
      child: Image.asset('assets/leopard.png',),)

Run Code Online (Sandbox Code Playgroud)

编辑:向 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)))],)
Run Code Online (Sandbox Code Playgroud)