首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在颤动中实现图像的DropShadow /阴影效果?

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

Stack Overflow用户
提问于 2019-11-21 03:43:52
回答 2查看 2.2K关注 0票数 5

我试着用BackDropFilter做一些类似于堆叠中的两个图像(其中一个明显填充了黑色)的事情。但结果会模糊堆栈下面的所有东西(即使是在图像的alpha区域)。我已经搜索了这个效应,但还没有找到答案。如果你能给我一个可能的解决方案或路径来实现这个效果,我将不胜感激。

代码语言:javascript
运行
复制
                  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
EN

回答 2

Stack Overflow用户

发布于 2021-06-24 12:04:00

您可以使用simple_shadow。以下是该项目的示例:

代码语言:javascript
运行
复制
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时也是如此。

票数 1
EN

Stack Overflow用户

发布于 2019-11-21 06:39:17

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

代码语言:javascript
运行
复制
    Material(
      elevation: 5.0,
      child: Image.asset('assets/leopard.png',),)

编辑:在PNG文件中添加一个长方体阴影(如果我在Leopard上没弄错的话)。使用两张图片,假设豹的背景是透明的,

代码语言:javascript
运行
复制
  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)))],)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58962184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档