如何修复 Flutter 中的像素化图像

Emi*_*vik 8 image dart networkimageview flutter

我想创建一个圆形图像小部件,但它最终会像素化。

有了Image.network(url),我得到以下信息:

像素化图像

而原来的样子是这样的:

在此输入图像描述

这是相关代码:

class RoundedImage extends StatelessWidget {
  final String URL;
  final double size;
  final bool dynamicallySized;
  final double borderRadius;
  final bool onlyTopBorderRadius;

  const RoundedImage({
    @required this.size,
    @required this.url,
    this.dynamicallySized = false,
    this.borderRadius = 8.0,
    this.onlyTopBorderRadius = false,
  });

  @override
  Widget build(BuildContext context) {
    final newSize = dynamicallySized ? PaddingUtils.getPadding(context, padding: size) : size;
    return ClipRRect(
      borderRadius:
          onlyTopBorderRadius ? BorderRadius.vertical(top: Radius.circular(borderRadius)) : BorderRadius.circular(borderRadius),
      child: CachedNetworkImage(
        imageUrl: url,
        height: newSize,
        width: newSize,
        fit: BoxFit.cover,
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

尝试将此属性添加到CachedNetworkImage

filterQuality: FilterQuality.high
Run Code Online (Sandbox Code Playgroud)

  • 实际上,当缩小图像时,“FilterQuality.medium”似乎应该产生更好的结果。请参阅此评论https://github.com/flutter/flutter/issues/79645#issuecomment-819920763 (3认同)