【发布时间】:2020-04-30 06:12:01
【问题描述】:
有几种方法可以从网络图像或文件中检索 ByteData,但是我还没有找到一种可以将内存(或缓存)中的现有图像转换为 ByteData 的方法。
具体指:
var resizedImage = ResizeImage(img.image, height: 28, width: 28);
例如,以下两个答案都假设有一个文件:
How to load Image widgets from ByteData in Flutter
How to get a Flutter Uint8List from a Network Image?
dart.ui 中有一个 toByteData 方法,但这也需要图像来自原始数据。
根据 ResizeImage 文档,它存储在缓存中,但如果不使用缓存管理器,我无法访问它。
缓存的图像将被直接解码并以宽度和高度定义的分辨率存储。如果将图像大小调整为小于原始大小,图像将丢失细节并使用更少的内存。
我已经使用 path_provider 来获取临时目录,但是在执行 resize image 时它似乎是空的。无论如何在路径中没有图像的情况下将图像转换为 ByteData 吗?
【问题讨论】: