ImageGear Professional v18.4 > User Guide > File Format Reference > ImageGear Supported Non-Image Data Storage > Non-Image Data Structure > EXIF-TIFF Non-Image Data Structure |
The EXIF-TIFF metadata structure is similar to the TIFF metadata structure. However, EXIF-TIFF allows Exif subIFD tags, GPS subIFD tags and thumbnail IFD tags to be parsed and passed together with main IFD.
Name | Id | Type | Value Type | Value | Value Length | Read Only |
"EXIF" | IG_FORMAT_EXIF_TIFF | LEVEL_START | 0 | NULL | 0 | TRUE |
"TIF_HEADER" | 59936 | VALUE_ITEM | UINT16 | 0x4949 or 0x4D4D | 1 | TRUE |
IFD 0 level ( if present) | ||||||
Thumbnail IFD level ( if present) | ||||||
"EXIF" | IG_FORMAT_EXIF_TIFF | LEVEL_END | 0 | NULL | 0 | TRUE |
All items between items with Name "EXIF" and Id IG_FORMAT_EXIF_TIFF (Type LEVEL_START and LEVEL_END) are interpreted as EXIF data. If during sending data from application level to filter level the first item is omitted the data will not be interpreted and saved.
See Exif subIFD tags below for the list of Exif subIFD tag names and Ids.
Name | Id | Type | Value Type | Value | Value Length | Read Only |
"IFD" | 0 | LEVEL_START | 0 | NULL | 0 | TRUE |
Exif subIFD, GPS info subIFD and tags levels mixed in any way | ||||||
"IFD" | 0 | LEVEL_END | 0 | NULL | 0 | TRUE |
Name | Id | Type | Value Type | Value | Value Length | Read Only |
"IFD" | 34665 | LEVEL_START | 0 | NULL | 0 | TRUE |
Interoperability info subIFD and tags levels mixed in any way | ||||||
"IFD" | 34665 | LEVEL_END | 0 | NULL | 0 | TRUE |
The number 34665 is the Exif subIFD pointer tag (see below)
Name | Id | Type | Value Type | Value | Value Length | Read Only |
"IFD" | <IFDId> | LEVEL_START | 0 | NULL | 0 | TRUE |
Tag 1 | ||||||
... | ||||||
Tag n | ||||||
"IFD" | <IFDId> | LEVEL_END | 0 | NULL | 0 | TRUE |
The value of <IFDId> is 1 for IFD1 or the subIFD pointer tag identifier for GPS (34853)(see GPS subIFD tags) or Interoperability (40965) subIFD (see Interoperability subIFD tags, below).
For tag metadata structure see TIFF Non-Image Data Structure.
There are the following types of EXIF tags described in this section:
For IFD0 and Thumbnail IFD tags see TIFF Non-Image Data Structure.
The following table lists the most frequently used Exif tags. See enumIGEXIFTagIDs for a complete list of tags. For tags not listed in this table, to find out whether a tag is read only or not, see Non-Image Data Processing.
Item Name | Item Id | Read Only |
"ExposureTime" | 33434 | FALSE |
"Fnumber" | 33437 | FALSE |
"ExposureProgram" | 34850 | FALSE |
"SpectralSensitivity" | 34852 | FALSE |
"ISOSpeedRatings" | 34855 | FALSE |
"OECF" | 34856 | FALSE |
"ExifVersion" | 36864 | FALSE |
"DateTimeOriginal" | 36867 | FALSE |
"DateTimeDigitized" | 36868 | FALSE |
"ComponentsConfiguration" | 37121 | FALSE |
"CompressedBitsPerPixel" | 37122 | FALSE |
"ShutterSpeedValue" | 37377 | FALSE |
"ApertureValue" | 37378 | FALSE |
"BrightnessValue" | 37379 | FALSE |
"ExposureBiasValue" | 37380 | FALSE |
"MaxApertureValue" | 37381 | FALSE |
"SubjectDistance" | 37382 | FALSE |
"MeteringMode" | 37383 | FALSE |
"LightSource" | 37384 | FALSE |
"Flash" | 37385 | FALSE |
"FocalLength" | 37386 | FALSE |
"SubjectArea" | 37396 | FALSE |
"MakerNote" | 37500 | FALSE |
"UserComment" | 37510 | FALSE |
"SubSecTime" | 37520 | FALSE |
"SubSecTimeOriginal" | 37521 | FALSE |
"SubSecTimeDigitized" | 37522 | FALSE |
"FlashPixVersion" | 40960 | FALSE |
"ColorSpace" | 40961 | FALSE |
"PixelXDimension" | 40962 | TRUE |
"PixelYDimension" | 40963 | TRUE |
"RelatedSoundFile" | 40964 | FALSE |
"InteroperabilityIFDPointer" | 40965 | TRUE |
"FlashEnergy" | 41483 | FALSE |
"SpatialFrequencyResponse" | 41484 | FALSE |
"FocalPlaneXResolution" | 41486 | FALSE |
"FocalPlaneYResolution" | 41487 | FALSE |
"FocalPlaneResolutionUnit" | 41488 | FALSE |
"SubjectLocation" | 41492 | FALSE |
"ExposureIndex" | 41493 | FALSE |
"SensingMethod" | 41495 | FALSE |
"FileSource" | 41728 | FALSE |
"SceneType" | 41729 | FALSE |
"CFAPattern" | 41730 | FALSE |
"CustomRendered" | 41985 | FALSE |
"ExposureMode" | 41986 | FALSE |
"WhiteBalance" | 41987 | FALSE |
"DigitalZoomRatio" | 41988 | FALSE |
"FocalLengthIn35mmFilm" | 41989 | FALSE |
"SceneCaptureType" | 41990 | FALSE |
"GainControl" | 41991 | FALSE |
"Contrast" | 41992 | FALSE |
"Saturation" | 41993 | FALSE |
"Sharpness" | 41994 | FALSE |
"DeviceSettingDescription" | 41995 | FALSE |
"SubjectDistanceRange" | 41996 | FALSE |
"ImageUniqueID" | 42016 | FALSE |
See enumIGEXIFGPSTagIDs for the complete list of EXIF GPS tags. All of EXIF GPS tags are writable.
See enumIGEXIFInterOperTagIDs for the complete list of EXIF Interoperability tags. All of EXIF Interoperability tags are writable.
Value of these tags can be changed using LPAFT_IG_METAD_ITEM_SET_CB callback only.
Item Name | Item Id |
"TIF_HEADER" | 59936 |
IFD0 tags | |
"PlanarConfiguration" | 284 |
"YCbCrSubSampling" | 530 |
"RowsPerStrip" | 278 |
"YCbCrPositioning" | 531 |
"XResolution" | 282 |
"YResolution" | 283 |
"ResolutionUnit" | 296 |
Exif subIFD | |
"ExifVersion" | 36864 |
"FlashPixVersion" | 40960 |
"ColorSpace" | 40961 |
Thumbnail IFD | |
"ImageWidth" | 256 |
"ImageLength" | 257 |
"PlanarConfiguration" | 284 |
"YCbCrSubSampling" | 530 |
"RowsPerStrip" | 278 |
"YCbCrPositioning" | 531 |
"XResolution" | 282 |
"YResolution" | 283 |
"ResolutionUnit" | 296 |
The rest of metadata item values can be written using LPAFT_IG_METAD_ITEM_ADD_CB callback only.