`
nullpointsun
  • 浏览: 35109 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

用Metadata来读取Exif信息

阅读更多
本文写于工作中,因为需要查看手机照片的Exif信息,本来想自己写发现太多要去实现的东西,so想到了拿来主义,网上有现成的API干嘛放着不用呢,可以搜索Metadata这个API,其官网有下载,参考其Doc文档就可以很轻松的实现该功能。

1.读取文件
可以直接通过File去读取一个文件
File file = new File(path);
Metadata metadata = ImageMetadataReader.readMetadata(file);

如果确定了图片的格式,也可以用专门的图片格式的Reader来进行读取,比如JpegMetadataReader来读取。

其实,你也可以用stream来读取
Metadata metadata = ImageMetadataReader.readMetadata(stream, waitForBytes);

这里可以方便的从网络侧去读取一个图片信息。


2.得到Exif的标签
每个照片里面可能没有,也可能不止有一个Exif的标签信息。
可以全部去获取
			for (Directory directory : metadata.getDirectories()) {    
				for (Tag tag : directory.getTags()) {        
					System.out.println(tag);    
					}
			}

也可以去获取某些特定的Exif信息
			// obtain the Exif directory
			ExifSubIFDDirectory directory = metadata.getDirectory(ExifSubIFDDirectory.class);
			// query the tag's value
			Date date = directory.getDate(ExifSubIFDDirectory.TAG_DATETIME);

如果需要得到的值更符合人们的习惯,或者是认为得到的值都是String类型,可以考虑用descriptor去获取
			ExifSubIFDDirectory directory2 = metadata.getDirectory(ExifSubIFDDirectory.class);
			ExifSubIFDDescriptor descriptor = new ExifSubIFDDescriptor(directory2);
			//Console: Aperture priority 光圈优先
			System.out.println(descriptor.getExposureProgramDescription());


参考文档http://www.drewnoakes.com/code/exif/

Doc文档地址http://metadata-extractor.googlecode.com/git/Javadoc/index.html
分享到:
评论

相关推荐

    JAVA读取照片信息 exif

    一旦引入了这个库,你可以使用以下步骤来读取Exif信息: 1. 创建一个`Metadata`对象,用于存储所有提取出的元数据。 ```java import com.drewnoakes.metadata萃取器.Metadata; Metadata metadata = new Metadata();...

    java读取metadata元信息

    在Java编程中,元数据(Metadata)是指关于数据的数据,它提供有关文件、数据库记录、类、方法等的附加信息,但不直接构成这些实体的实际内容。元数据可以帮助理解和处理这些对象,例如,图片的元数据可能包含拍摄...

    关于Java 如何采用 metadata-extractor 读取数码相机 Exif 数据信息的代码.pdf

    接下来,我们来看一下如何使用metadata-extractor库读取Exif信息的代码示例: ```java import com.drewnoakes.metadata.exif.ExifIFD; import com.drewnoakes.metadata.exif.MakerNotesDirectory; import ...

    读取照片的Exif信息

    5. **JavaScript exif-js**:对于前端开发,JavaScript库`exif-js`可以在浏览器环境中读取Exif信息: ```javascript var EXIF = require('exif-js'); EXIF.getData(document.getElementById('image'), function()...

    java处理EXIF信息方法

    2. **读取EXIF信息**: 使用`MetadataExtractor`,你可以轻松地读取图片文件中的EXIF元数据。以下是一个简单的示例代码,演示如何读取并打印所有EXIF标签: ```java import ...

    Java读取图片EXIF信息的方法

    2. **使用Java读取EXIF信息**: - Java中没有内置的库来直接处理EXIF信息,但可以通过第三方库如`metadata-extractor`来实现。 - `metadata-extractor`是由Drew Noakes开发的一个强大库,它可以解析多种图像和视频...

    修改图片exif信息示例(使用MediaUtil)

    本文将通过一个具体的示例来展示如何使用 MediaUtil 对图片的 EXIF 信息进行修改。 #### 二、MediaUtil简介 MediaUtil 是一个开源的 Java 库,它提供了一系列的功能用于处理多媒体数据,特别是针对图像处理方面...

    Exiv2源码 读取exif

    Exiv2读取图像扩展属性,内含exiv2-0.26-trunk.tar主程序源码,相关编译所需的包libexpat-R_2_1_0、zlib-1.2.9。可自行编译。方便快捷的使用在visual studio 的任何版本上。 图片元数据(Metadata) 是嵌入到图片...

    5种使用Python查看修改删除EXIF数据的方法

    ExifRead是一个轻量级库,专门用于读取EXIF数据。安装`exifread`库后,可以使用以下代码查看EXIF: ```python from exifread import tags with open('image.jpg', 'rb') as f: for tag in tags.keys(): if ...

    exif相关jar包

    这些jar包包含了实现Exif读取和操作功能的类和方法,它们可能是像Apache Commons Imaging(以前称为Sanselan)、 Metadata-Extractor 或 tjio 这样的开源库。这些库提供了API,使得开发者可以方便地访问和修改图像...

    exif 的 C++ 读取类,可以返回数码照片中的各种参数信息

    实现这样的类,我们需要使用C++的文件操作来读取JPEG或TIFF文件,并使用位操作和二进制流来处理Exif数据。这通常涉及到解析文件头,查找Exif IFD(Image File Directory),然后遍历IFD中的条目来获取每个参数。 `...

    照片EXIF信息的读取和改写jar包

    开源图片详细信息提取metadata-extractor,一个很好的开源类库metadata-extractor处理jpeg图片

    java获取图片的EXIF信息

    然而,`ImageIO`并不直接支持读取EXIF数据,所以我们需要引入额外的库,如`Apache Commons Imaging`(以前称为`Apache Commons Sanselan`)或`metadata-extractor`。这两个库都提供了方便的API来处理图像元数据,...

    获取照片Exif信息所要用到的jar包

    在给定的压缩包文件中,虽然没有具体列出jar包的名称,但通常情况下,用于读取Exif信息的库可能包括`Apache Commons Imaging`(原名`Sanselan`)、`metadata-extractor`或`JHead`等。这些库提供了方便的API,让我们...

    metadata-extractor-2.8.1 jar包以及源码以及使用例子

    完成这一步后,你就可以在你的代码中调用metadata-extractor的API来读取文件的元数据了。 下面是一个简单的使用示例: ```java import com.drew.metadata.Metadata; import ...

    java 获取相片exif信息

    首先,为了读取EXIF信息,我们需要一个库,如`metadata-extractor-2.3.1.jar`,这是一个开源的Java库,用于从图像文件中提取元数据,包括EXIF信息。将其添加到项目的类路径中,可以使用Maven或Gradle将其作为依赖...

    mediautil+metadata-extractor

    在IT领域,尤其是在图像处理和数字媒体管理中,"mediautil+metadata-extractor"是一个用于提取和查看EXIF(Exchangeable Image File Format)信息的工具。这个工具包含两个核心组件:`meduautil-1.0.jar`和`metadata...

    ExifPilot Exif信息修改器

    ExifPilot的界面友好,信息读取齐全,这意味着它不仅能够显示所有标准的Exif标签,还可能包括制造商特定的元数据,如佳能的 maker notes 或尼康的 Nikon Capture NX 数据。此外,它可能还包括IFD(Image File ...

    Java修改图片元数据Exif信息

    在Java中,可以借助像`Apache Commons Imaging`(以前称为`Commons Sanselan`)或者`metadata-extractor`这样的库来读取和修改Exif信息。这些库提供了方便的API,让我们能够轻松地访问和修改图片的Exif标签。 `...

Global site tag (gtag.js) - Google Analytics