gpt4 book ai didi

java - 如何用 Java 读取 JPEG 文件属性?

转载 作者:太空狗 更新时间:2023-10-29 22:50:12 25 4
gpt4 key购买 nike

我想从图像 (jpg) 中读取信息,该图像有一些额外的信息数码相机中包含的信息,如创建日期、焦点、闪光灯开关, ...我怎样才能得到这些信息。

我的第一个想法是。

BufferedImage image = ImageIO.read(filePicture);
if (image().getPropertyNames() != null) {
for (int j = 0; j < image().getPropertyNames().length; j++) {
String key = image().getPropertyNames()[j];
String value = (String) image().getProperty(key);
System.out.println(key + ": " + value);
}
}

但是 getPropertyNames() 返回 null!

最佳答案

另一个简单的选择是使用 metadata-extractor :

Metadata metadata = ImageMetadataReader.readMetadata(imagePath);

迭代文件中的所有值:

for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
System.out.println(tag);
}
}

您还可以从特定目录读取特定值:

// obtain the Exif SubIFD directory
ExifSubIFDDirectory directory
= metadata.getFirstDirectoryOfType(ExifSubIFDDirectory.class);

// query the datetime tag's value
Date date = directory.getDate(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL);

Maven 用户也可以使用该库。

(全面披露:我是该库的作者)

关于java - 如何用 Java 读取 JPEG 文件属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19224328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com