通过多次压缩后图像质量没有下降,我认为该插件无法正常工作。但是在调试过程中将文件转储到文件存储后,它实际上被压缩了,图像质量下降了 25%。
但是图像在设置状态后没有更新。我读过很多文章和东西。我已经使用了我找到的所有东西。我试图清除 Flutter 的 Image Cache 和 Painting Binding and Stuff。我也尝试清空临时目录。
imageCache.clearLiveImages();
PaintingBinding.instance.imageCache.clear();
var appDir = (await getTemporaryDirectory()).path;
Directory(appDir).delete(recursive: true);
这是我的代码。第一个_imagePath是它接收到的图像并正确显示。当我们压缩和更新文件路径时,图像的状态没有改变(图像没有改变)。
CircleAvatar(
radius: 150,
backgroundImage: FileImage(File(_imagePath)),
),
TextButton(
child: Text(
'Compress',
style: TextStyle(fontSize: 22),
),
onPressed: () {
setState(() async {
// Compressing File
File compressedFile =
await FlutterNativeImage.compressImage(
_imagePath,
quality: 25,
);
_imagePath = compressedFile.path;
});
},
),