Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统(GPS)、缩略图等。简单地说,Exif=JPEG+拍摄参数。——百度百科·Exif
实现图片Exif信息采集
最近项目中需要获取到用户上传图片的拍摄日期,想起可以使用metadata-extractor解析。这个jar包可以拿到关于图片的很多信息,代码如下:
/**
* 图片Exif信息采集
*
*/
public class ImageExif
{
public static void main( String[] args )
throws ImageProcessingException, IOException{
File img = new File("图片.jpg");
Metadata meta = JpegMetadataReader.readMetadata(img);
for(Directory dir : meta.getDirectories()){
for(Tag tag : dir.getTags()){
String tagName = tag.getTagName();
String description = tag.getDescription();
System.out.printf("%-30s\t%-100s\n", tagName, description);
}
}
}
}
执行结果如下:
Compression Type Baseline
Data Precision 8 bits
Image Height 800 pixels
Image Width 532 pixels
Number of Components 3
Component 1 Y component: Quantization table 0, Sampling factors 1 horiz/1 vert
Component 2 Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert
Component 3 Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert
Version 1.2
Resolution Units inch
X Resolution 72 dots
Y Resolution 72 dots
Make NIKON CORPORATION
Model NIKON D700
Orientati