ExifTagCollection - EXIF 元数据提取库






4.87/5 (42投票s)
一个用于从图像中提取 EXIF 信息的库,符合 EXIF 2.2 标准。
引言
该库的灵感来自于 Asim Goheer 的 ExifExtractor
类。ExifExtractor
的问题在于它不支持 EXIF 2.2 标准中定义的一些标签,例如与 GPS 数据相关的标签,因此我决定修改它,但最终决定从头开始重写,尽管我重用了一些 Asim 的代码。
ExifTagsCollection
基于 IEnumerable<T>
,并包含一个 ExifTag
类的集合,该类封装了 EXIF 标签。
ExifTag
类包含给定标签的字段名称、描述、ID 和值。已添加了几个方便的类
Rational
- 用于有符号有理数值URational
- 用于无符号有理数值GPSRational
- 用于 GPS 24 位数据
使用代码
使用该代码非常简单。这是一个在控制台中列出所有标签的示例
// See other constructors, for creating ExifTagCollection with Image instance, etc.
ExifTagCollection exif = new ExifTagCollection(@"c:\somefile.jpg");
foreach (ExifTag tag in exif)
Console.Out.WriteLine(tag);
另一个通过 ID 获取特定标签的示例
ExifTagCollection exif = new ExifTagCollection(@"c:\somefile.jpg");
ExifTag tag = exif[2];
Console.Out.WriteLine(tag);
//OUTPUT: Latitude (GPSLatitude) = 22° 47' 35,35"
支持的 EXIF 字段
ImageWidth
- 图像宽度ImageHeight
- 图像高度GPSVersionID
- GPS 标签版本GPSAltitudeRef
- 高度参考StripOffsets
- 图像数据位置RowsPerStrip
- 每条带的行数StripByteCounts
- 每条压缩带的字节数PixelXDimension
- 有效图像宽度PixelYDimension
- 有效图像高度BitsPerSample
- 每个分量的位数Compression
- 压缩方案PhotometricInterpretation
- 像素构成Orientation
- 图像方向SamplesPerPixel
- 分量数PlanarConfiguration
- 图像数据排列YCbCrSubSampling
- Y 与 C 的子采样率YCbCrPositioning
- Y 和 C 的位置ResolutionUnit
- X 和 Y 分辨率的单位TransferFunction
- 传递函数ColorSpace
- 色彩空间信息ExposureProgram
- 曝光程序ISOSpeedRatings
- ISO 速度等级MeteringMode
- 测光模式LightSource
- 光源Flash
- 闪光灯SubjectArea
- 主体区域FocalPlaneResolutionUnit
- 焦平面分辨率单位SubjectLocation
- 主体位置SensingMethod
- 感光方法CustomRendered
- 自定义图像处理ExposureMode
- 曝光模式WhiteBalance
- 白平衡FocalLengthIn35mmFilm
- 35 毫米胶片焦距SceneCaptureType
- 场景捕获类型Contrast
- 对比度Saturation
- 饱和度Sharpness
- 锐度SubjectDistanceRange
- 主体距离范围GPSDifferential
- GPS 差分校正ShutterSpeedValue
- 快门速度BrightnessValue
- 亮度ExposureBiasValue
- 曝光补偿JPEGInterchangeFormat
- JPEG SOI 的偏移量JPEGInterchangeFormatLength
- JPEG 数据字节数XResolution
- 宽度方向的图像分辨率YResolution
- 高度方向的图像分辨率WhitePoint
- 白点色度PrimaryChromaticities
- 基色色度YCbCrCoefficients
- 色彩空间变换矩阵系数ReferenceBlackWhite
- 黑色和白色参考值对CompressedBitsPerPixel
- 图像压缩模式ExposureTime
- 曝光时间FNumber
- F 值ApertureValue
- 光圈值MaxApertureValue
- 最大镜头光圈SubjectDistance
- 主体距离FocalLength
- 镜头焦距FlashEnergy
- 闪光灯能量FocalPlaneXResolution
- 焦平面 X 分辨率FocalPlaneYResolution
- 焦平面 Y 分辨率ExposureIndex
- 曝光指数DigitalZoomRatio
- 数码变焦比GainControl
- 增益控制GPSLatitude
- 纬度GPSLongitude
- 经度GPSAltitude
- 高度GPSTimeStamp
- GPS 时间(原子钟)GPSDOP
- 测量精度GPSSpeed
- GPS 接收器速度GPSTrack
- 行进方向GPSImgDirection
- 图像方向GPSDestLatitude
- 目的地纬度GPSDestLongitude
- 目的地经度GPSDestBearing
- 目的地方位角GPSDestDistance
- 到目的地的距离DateTime
- 文件修改日期和时间ImageDescription
- 图像标题Make
- 图像输入设备制造商Model
- 图像输入设备型号Software
- 使用的软件Artist
- 图像创建者Copyright
- 版权持有者RelatedSoundFile
- 相关音频文件DateTimeOriginal
- 原始数据生成日期和时间DateTimeDigitized
- 数字数据生成日期和时间SubSecTime
-DateTime
的亚秒部分SubSecTimeOriginal
-DateTimeOriginal
的亚秒部分SubSecTimeDigitized
-DateTimeDigitized
的亚秒部分ImageUniqueID
- 唯一图像 IDSpectralSensitivity
- 光谱灵敏度GPSLatitudeRef
- 北纬或南纬GPSLongitudeRef
- 东经或西经GPSSatellites
- 用于测量的 GPS 卫星GPSStatus
- GPS 接收器状态GPSMeasureMode
- GPS 测量模式GPSSpeedRef
- 速度单位GPSTrackRef
- 行进方向参考GPSImgDirectionRef
- 图像方向参考GPSMapDatum
- 使用的大地测量数据GPSDestLatitudeRef
- 目的地纬度参考GPSDestLongitudeRef
- 目的地经度参考GPSDestBearingRef
- 目的地方位角参考GPSDestDistanceRef
- 到目的地距离参考GPSDateStamp
- GPS 日期OECF
- 光电转换因子SpatialFrequencyResponse
- 空间频率响应FileSource
- 文件来源SceneType
- 场景类型CFAPattern
- CFA 模式DeviceSettingDescription
- 设备设置描述ExifVersion
- EXIF 版本FlashpixVersion
- 支持的 Flashpix 版本ComponentsConfiguration
- 每个分量的含义MakerNote
- 制造商注释UserComment
- 用户注释GPSProcessingMethod
- GPS 处理方法名称GPSAreaInformation
- GPS 区域名称
历史
- 初始发布。