ImageGear v26.5 - Updated
Developer Guide / File Formats and Compressions / File Formats / Metadata Structures / TIFF Metadata Structure
In This Topic
    TIFF Metadata Structure
    In This Topic

    As with all multipage image formats, ImageGear uses separate metadata trees for TIFF document-level metadata and TIFF page-level metadata:

    Document level metadata

    Name Id Type Value Type Value Value Length Ignored on save
    ByteOrder 59936 Leaf UINT16 0x4949 or
    0x4D4D
    1 TRUE
    Identifier 59937 Leaf UINT16 42 1 TRUE

    Page level metadata

    TIFF page level metadata corresponds to a TIFF IFD.

    Tags

    Most of TIFF tags are passed through metadata callback as:

    Name Id Type Value Type Value Value Length Ignored on save
    <TagName> <TagId> VALUE_ITEM <ValueType> <TagValue> <TagCount> <R.o.>

    The valid values of <TagName>, <TagId> and "Read Only" attributes are available in See Description of TIFF tags (ImGearTIFTagIDs). Table.

    It is possible to use tag identifier and value of nonstandard tag (user defined tag).

    The <TagCount> is real tag count value that is read/written in file.

    The <ValueType> value is the metadata type constant that matches TIFF tag type as described in the table below:

    TIFF tag type Metadata type (ImGearNativeDataTypes)
    BYTE UINT8
    SBYTE INT8
    SHORT UINT16
    SSHORT INT16
    LONG UINT32
    SLONG INT32
    RATIONAL RATIONAL_UINT32
    SRATIONAL RATIONAL_INT32
    FLOAT FLOAT
    DOUBLE DOUBLE
    ASCII STRING
    UNDEFINED AM_TID_RAW_DATA

    Description of TIFF tags (ImGearTIFTagIDs)

    Item Name Item Id Ignored on save
    "NewSubfileType" 254 TRUE
    "SubfileType" 255 TRUE
    "ImageWidth" 256 TRUE
    "ImageLength" 257 TRUE
    "BitsPerSample" 258 TRUE
    "Compression" 259 TRUE
    "PhotometricInterpretation" 262 TRUE
    "Threshholding" 263 FALSE
    "CellWidth" 264 TRUE
    "CellLength" 265 TRUE
    "FillOrder" 266 FALSE
    "DocumentName" 269 FALSE
    "ImageDescription" 270 FALSE
    "Make" 271 FALSE
    "Model" 272 FALSE
    "StripOffsets" 273 TRUE
    "Orientation" 274 FALSE
    "SamplesPerPixel" 277 TRUE
    "RowsPerStrip" 278 TRUE
    "StripByteCounts" 279 TRUE
    "MinSampleValue" 280 FALSE
    "MaxSampleValue" 281 FALSE
    "XResolution" 282 FALSE
    "YResolution" 283 FALSE
    "PlanarConfiguration" 284 TRUE
    "PageName" 285 FALSE
    "XPosition" 286 FALSE
    "YPosition" 287 FALSE
    "FreeOffsets" 288 TRUE
    "FreeByteCounts" 289 TRUE
    "GrayResponseUnit" 290 FALSE
    "GrayResponseCurve" 291 FALSE
    "T4Options" 292 TRUE
    "T6Options" 293 TRUE
    "ResolutionUnit" 296 FALSE
    "PageNumber" 297 TRUE
    "TransferFunction" 301 FALSE
    "Software" 305 FALSE
    "DateTime" 306 FALSE
    "Artist" 315 FALSE
    "HostComputer" 316 FALSE
    "Predictor" 317 TRUE
    "WhitePoint" 318 FALSE
    "PrimaryChromaticities" 319 FALSE
    "ColorMap" 320 TRUE
    "HalftoneHints" 321 FALSE
    "TileWidth" 322 TRUE
    "TileLength" 323 TRUE
    "TileOffsets" 324 TRUE
    "TileByteCounts" 325 TRUE
    "InkSet" 332 FALSE
    "InkNames" 333 FALSE
    "NumberOfInks" 334 FALSE
    "DotRange" 336 FALSE
    "TargetPrinter" 337 FALSE
    "ExtraSamples" 338 TRUE
    "SampleFormat" 339 FALSE
    "SMinSampleValue" 340 FALSE
    "SMaxSampleValue" 341 FALSE
    "TransferRange" 342 FALSE
    "JPEGTables" 347 TRUE
    "JPEGProc" 512 TRUE
    "JPEGInterchangeFormat" 513 TRUE
    "JPEGInterchangeFormatLngth" 514 TRUE
    "JPEGRestartInterval" 515 TRUE
    "JPEGLosslessPredictors" 517 TRUE
    "JPEGPointTransforms" 518 TRUE
    "JPEGQTables" 519 TRUE
    "JPEGDCTables" 520 TRUE
    "JPEGACTables" 521 TRUE
    "YCbCrCoefficients" 529 FALSE
    "YCbCrSubSampling" 530 TRUE
    "YCbCrPositioning" 531 FALSE
    "ReferenceBlackWhite" 532 FALSE
    "Copyright" 33432 FALSE
    "PhotoshopResources" 34377 FALSE
    "ExifIFDPointer" 34665 TRUE
    "GPSInfoIFDPointer" 34675 TRUE

    Please see file ImGearTIFTagIDs enum for the full list of TIFF Metadata Item Id constants.

    TIFF Complex Data Tags

    Some tags, whose value is a complex data, can be passed in parsed form as a tree. In this case, a single metadata item is replaced with a tree that uses one of the specialized metadata formats, such as Photoshop (PhotoshopImageResources) or IPTC.

    EXIF Metadata

    ExifIFDPointer tag in a TIFF file points to an IFD which contains tags defined in the EXIF image file format specification. ImageGear replaces this tag with EXIF metadata tree.

    EXIF metadata usually contains nested IFDs as well.

    SubIFDs

    TIFF images can contain "SubIFDs" - nested sets of tags. A SubIFD usually contains a special version of image, such as a thumbnail, or a Raw image taken from a digital camera sensor.

    ImageGear represents SubIFDs as subtrees of the root TIFF IFD.