Flutter 将 Image.file() 图像转换为 ImageProvider() 以用于可缩放照片

Wil*_*ill 2 image zooming offline-browsing flutter

我创建了一个应用程序,可以下载大量信息以供离线使用,其中大部分是照片。在应用程序中,我想使用一个小部件,它允许我具有平移/缩放效果,但我发现的那些似乎不能很好地与 Image.file() 一起使用,而是使用 ImageProviders。

例如,Photo_View只接受 AssetImage 和 NetworkImage 图像,它们都继承自 ImageProvider,而 Image.file() 继承自 Diagnosticable。我见过的所有软件包都以基本相同的方式运行。

所以,我的问题是如何将 Image.file() 数据转换为 ImageProvider 格式。

Bla*_*nka 7

取而代之的Image.file()使用FileImage()是的类型ImageProvider

来自文档:

将给定File对象解码为图像,将其与给定比例相关联。

也可以看看:

Image.fileImage支持的小部件的简写FileImage

我认为您也可以ExactAssetImage与图像文件路径(例如:)一起使用,image.path但它应该在AssetBundle. 这里是什么医生说的:

ExactAssetImage 班级

从 中获取图像,将AssetBundle其与给定的比例相关联。

这个实现需要一个明确的最终资产名称和构建规模,并忽略传递给解析的配置中的设备像素比和大小。有关使用配置根据设备像素比和大小选择适当图像的分辨率感知变体,请参阅AssetImage

阅读更多