为什么不能正确地模糊整个背景图像?

问题描述

我正在尝试将 ImageFilter 应用到我的图像上,但它只会模糊其中的一部分并像这样淡出: 实际图像

Actual Image

部分模糊的图像

Partly blurred image

如您所见,大部分都被适当地模糊了,但您可以辨认出底部
我是如何模糊它的:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Stack(
      children: [
        ConstrainedBox(
          constraints: const BoxConstraints.expand(),child: Image(image: Assetimage(config.wallpaper),fit: BoxFit.cover),),Container(
          child: ClipRect(
            child: BackdropFilter(
              filter: ImageFilter.blur(
                  sigmaX: config.blur['sigmaX'] ?? 50,sigmaY: config.blur['sigmaY'] ?? 50),child: Container(
                color: Colors.transparent,height: 1080,width: 1920,)
      ],));
  }
}

解决方法

也许您可以尝试在图像上方堆叠一个半透明容器?

像这样:

Stack(
  Image(/*your image*/),Container(color: Colors.grey.withOpacity(0.6)),),

您可以根据需要调整颜色和不透明度。您不会完全模糊图像,但可以很好地隐藏该图像。