为什么颤动不能正确地模糊整个背景图像?
Why doesn't flutter properly blur the whole background image?
我正在尝试将 ImageFilter
应用到我的图像上,但它只模糊了图像的一部分并像这样逐渐消失:
实际图像
部分模糊的图像
如您所见,大部分都被适当地模糊了,但您可以辨认出底部。
我如何模糊它:
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)),
),
您可以根据需要调整颜色和不透明度。您不会完全模糊图像,但它会很好地隐藏该图像。
我正在尝试将 ImageFilter
应用到我的图像上,但它只模糊了图像的一部分并像这样逐渐消失:
实际图像
如您所见,大部分都被适当地模糊了,但您可以辨认出底部。
我如何模糊它:
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)),
),
您可以根据需要调整颜色和不透明度。您不会完全模糊图像,但它会很好地隐藏该图像。