我知道可以通过在ExifInterface中指定字符串标签来获取特定的exif数据。例如,获取图像的日期将类似于:
ExifInterface exif = new ExifInterface(pathToImage);
exif.getAttribute(ExifInterface.TAG_DATETIME);
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以简单地获取所有非空的可用exif字符串,而不必手动为每个字符串编写获取代码?
您可以创建一个包含要查询的所有标签的数组,并将查询的非空结果放入集合(可能是 hashmap)或其他内容(可能是 JsonObject)中。
Kotlin 中的示例:
val pathToImage = "..."
val exif = ExifInterface(pathToImage)
val tagsToCheck = arrayOf(
ExifInterface.TAG_DATETIME,
ExifInterface.TAG_GPS_LATITUDE,
ExifInterface.TAG_GPS_LONGITUDE,
ExifInterface.TAG_EXPOSURE_TIME
)
val hashMap = HashMap<String, String>()
for (tag in tagsToCheck)
exif.getAttribute(tag)?.let { hashMap[tag] = it }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17710 次 |
| 最近记录: |