- 包的下载地址:
 - http://www.drewnoakes.com/code/exif/releases/metadata-extractor-2.2.0.jar
 - package com.imgread;
 - import com.drew.metadata.*;
 - import com.drew.metadata.exif.*;
 - import com.drew.imaging.jpeg.JpegProcessingException;
 - import java.io.*;
 - import java.util.Iterator;
 - public class EXIFReader {
 - public static void main(String args[]) throws FileNotFoundException {
 - File f = new File("c:\\b.jpg");
 - try {
 - ExifReader er = new ExifReader(f);
 - Metadata exif = er.extract();
 - Iterator itr = exif.getDirectoryIterator();
 - while (itr.hasNext()) {
 - Directory directory = (Directory) itr.next();
 - System.out.println("EXIF版本:" + directory.getString(ExifDirectory.TAG_EXIF_VERSION));
 - System.out.println("相机品牌:" + directory.getString(ExifDirectory.TAG_MAKE));
 - System.out.println("相机型号:" + directory.getString(ExifDirectory.TAG_MODEL));
 - System.out.println("光 圈 值:" + directory.getString(ExifDirectory.TAG_FNUMBER));
 - System.out.println("快 門:" + directory.getString(ExifDirectory.TAG_EXPOSURE_TIME));
 - System.out.println("感 光 度:" + directory.getString(ExifDirectory.TAG_ISO_EQUIVALENT));
 - System.out.println("软 件:" + directory.getString(ExifDirectory.TAG_SOFTWARE));
 - System.out.println("原始拍摄时间:" + directory.getString(ExifDirectory.TAG_DATETIME_ORIGINAL));
 - System.out.println("数字化时间:" + directory.getString(ExifDirectory.TAG_DATETIME_DIGITIZED));
 - System.out.println("方 向:" + directory.getString(ExifDirectory.TAG_ORIENTATION));
 - System.out.println("图片宽度:" + directory.getString(ExifDirectory.TAG_EXIF_IMAGE_WIDTH));
 - System.out.println("图片高度:" + directory.getString(ExifDirectory.TAG_EXIF_IMAGE_HEIGHT));
 - System.out.println("水平分辨率:" + directory.getString(ExifDirectory.TAG_X_RESOLUTION));
 - System.out.println("垂直分辨率:" + directory.getString(ExifDirectory.TAG_Y_RESOLUTION));
 - System.out.println("垂直分辨率:" + directory.getString(ExifDirectory.TAG_EXPOSURE_BIAS));
 - break;
 - //获得全部metadata
 - /*Iterator tags = directory.getTagIterator();
 - while (tags.hasNext()) {
 - Tag tag = (Tag) tags.next();
 - System.out.println(tag);
 - }
 - if (directory.hasErrors()) {
 - Iterator errors = directory.getErrors();
 - while (errors.hasNext()) {
 - System.out.println("ERROR: " + errors.next());
 - }
 - }*/
 - }
 - } catch (JpegProcessingException e) {
 - System.err.println("not jpeg file");
 - }
 - }
 - }
 - 方法说明:
 
- Image Description 图像描述、来源. 指生成图像的工具
 - Artist作者 有些相机可以输入使用者的名字
 - Make 生产者 指产品生产厂家
 - Model 型号 指设备型号
 - Orientation方向 有的相机支持,有的不支持
 - XResolution/YResolution X/Y方向分辨率本栏目已有专门条目解释此问题。
 - ResolutionUnit分辨率单位 一般为PPI
 - Software软件 显示固件Firmware版本
 - DateTime日期和时间
 - YCbCrPositioning 色相定位
 - ExifOffsetExif信息位置,定义Exif在信息在文件中的写入,有些软件不显示。
 - ExposureTime 曝光时间 即快门速度
 - FNumber光圈系数
 - ExposureProgram曝光程序指程序式自动曝光的设置,各相机不同,可能是Sutter Priority(快门优先)、Aperture Priority(快门优先)等等。
 - ISO speed ratings感光度
 - ExifVersionExif版本
 - DateTimeOriginal创建时间
 - DateTimeDigitized数字化时间
 - ComponentsConfiguration图像构造(多指色彩组合方案)
 - CompressedBitsPerPixel(BPP)压缩时每像素色彩位 指压缩程度
 - ExposureBiasValue曝光补偿。
 - MaxApertureValue最大光圈
 - MeteringMode测光方式, 平均式测光、中央重点测光、点测光等。
 - Lightsource光源 指白平衡设置
 - Flash是否使用闪光灯。
 - FocalLength焦距,一般显示镜头物理焦距,有些软件可以定义一个系数,从而显示相当于35mm相机的焦距 MakerNote(User Comment)作者标记、说明、记录
 - FlashPixVersionFlashPix版本 (个别机型支持)
 - ColorSpace色域、色彩空间
 - ExifImageWidth(Pixel X Dimension)图像宽度 指横向像素数
 - ExifImageLength(Pixel Y Dimension)图像高度 指纵向像素数
 - Interoperability IFD通用性扩展项定义指针和TIFF文件相关,具体含义不详
 - FileSource源文件 Compression压缩比。
 
                    
                
 posted on 
                
            
        
浙公网安备 33010602011771号