【问题标题】:Image metadata MediaStore vs. EXIF图像元数据 MediaStore 与 EXIF
【发布时间】:2013-07-11 12:45:52
【问题描述】:

在 Android 中似乎有两种不同的方式来读取图像的元数据。我知道图像的 EXIF 上有时间戳、方向、gps 标签等数据,但显然,根据 Android 的文档,您可以通过 MediaStore 获得相同的信息: developer.android.com/reference/android/provider/MediaStore.Images.ImageColumns.html

这两者有什么区别?是否可以安全地假设两者的数据总是相同的?

【问题讨论】:

    标签: android exif mediastore


    【解决方案1】:

    两者有什么区别?

    MediaStore 信息包含部分 EXIF 数据的缓存副本以及其他元数据。

    可以安全地假设两者的数据总是相同的吗?

    没有。 如果 MediaStore 是最新的,那么是的。但是,图像是文件。可以更改文件。如果 MediaStore 索引状态 A 中的图像文件,那么某些东西会将图像文件修改为状态 B,除非某些东西导致 MediaStore 更新其缓存,否则它们将不同步。

    【讨论】:

    • 谢谢,EXIF 将包含最准确的元数据,对吗?
    • @baekacaek:这取决于你对“准确”的定义。所有 EXIF 元数据都不一定是“准确的”。例如,我可以将一张照片地理标记为从珠穆朗玛峰顶部拍摄,而实际上它是从我的露台(离喜马拉雅山不远)拍摄的。比较 MediaStore 和 EXIF,EXIF 可能会更新。 OTOH,查询MediaStore 比自己进行文件系统扫描和读取所有 EXIF 数据实用得多。所以这一切都取决于你的用例。
    • 那么对于编写图库应用程序,仅读取 MediaStore 就足以满足方向、时间戳和 gps 标签吗?或者是否会出现 MediaStore 上的图像元数据因为之前没有被缓存而为空的情况?
    • @baekacaek:如果它没有被索引,你不会在MediaStore 中找到它,在这种情况下,我不知道你将如何找到要放入画廊的图像应用程序(同样,没有自己翻找目录)。使用MediaStore 查找要显示的图像。对于需要最新和最好元数据的地方,请自行阅读 EXIF 标签。
    猜你喜欢
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多