0

通过多次压缩后图像质量没有下降,我认为该插件无法正常工作。但是在调试过程中将文件转储到文件存储后,它实际上被压缩了,图像质量下降了 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;
                  });
                },
              ),
4

1 回答 1

0

我使用了 Flutter 的值通知器,它会通知图像的值是否发生变化。

于 2021-05-29T13:01:23.883 回答