ImageIO - 获取图像类型和exif数据

问题描述 投票:24回答:3

给定一些源文件(或更通用的 - 输入流),我需要找出答案

  • 它是一个图像
  • 如果是图像,则检索其类型(png / jpeg / gif / etc)
  • 检索exif数据(如果有)

我查看了API,但目前尚不清楚如何获取图像类型或Exif数据。

java javax.imageio
3个回答
26
投票

上次我不得不这样做,几年前,标准API无法读取EXIF数据。这个库可以这样做:

http://www.drewnoakes.com/code/exif/


14
投票

简单回答:使用https://github.com/drewnoakes/metadata-extractor/

如果你是疯狂/勇敢/好奇,你可以通过读取前几个字节(这些是magic numbers)从流中获取图像类型。我相信exif通常也在流的开头。


8
投票

这是一个旧线程,但我最近这样做,发现Apache Tika库很有用。特别是用于分析通用流以检测其中的内容。

认为它可能会帮助别人。

http://tika.apache.org/

© www.soinside.com 2019 - 2024. All rights reserved.