TIFFGetField(3TIFF)                                        TIFFGetField(3TIFF)



NAME
       TIFFGetField, TIFFVGetField - get the value(s) of a tag in an open TIFF
       file

SYNOPSIS
       #include <tiffio.h>

       int TIFFGetField(TIFF *tif, ttag_t tag, ...)

       #include <stdarg.h>

       int TIFFVGetField(TIFF *tif, ttag_t tag, va_list ap)
       int TIFFGetFieldDefaulted(TIFF *tif, ttag_t tag, ...)
       int TIFFVGetFieldDefaulted(TIFF *tif, ttag_t tag, va_list ap)

DESCRIPTION
       TIFFGetField returns the value of a tag or pseudo-tag associated with
       the the current directory of the opened TIFF file tif.  (A pseudo-tag
       is a parameter that is used to control the operation of the TIFF
       library but whose value is not read or written to the underlying file.)
       The file must have been previously opened with TIFFOpen(3TIFF).  The
       tag is identified by tag, one of the values defined in the include file
       tiff.h (see also the table below). The type and number of values
       returned is dependent on the tag being requested. The programming
       interface uses a variable argument list as prescribed by the stdarg(3)
       interface. The returned values should only be interpreted if
       TIFFGetField returns 1.

       TIFFVGetField is functionally equivalent to TIFFGetField except that it
       takes a pointer to a variable argument list.  TIFFVGetField is useful
       for layering interfaces on top of the functionality provided by
       TIFFGetField.

       TIFFGetFieldDefaulted and TIFFVGetFieldDefaulted are identical to
       TIFFGetField and TIFFVGetField, except that if a tag is not defined in
       the current directory and it has a default value, then the default
       value is returned.

       The tags understood by libtiff(3TIFF), the number of parameter values,
       and the types for the returned values are shown below. The data types
       are specified as in C and correspond to the types used to specify tag
       values to TIFFSetField(3TIFF).  Remember that TIFFGetField returns
       parameter values, so all the listed data types are pointers to storage
       where values should be returned.  Consult the TIFF specification (or
       relevant industry specification) for information on the meaning of each
       tag and their possible values.

       Tag Name                        Count  Types             Notes
       TIFFTAG_ARTIST                  1      char**
       TIFFTAG_BADFAXLINES             1      uint32*
       TIFFTAG_BITSPERSAMPLE           1      uint16*
       TIFFTAG_CLEANFAXDATA            1      uint16*
       TIFFTAG_COLORMAP                3      uint16**          1<<BitsPerSample arrays
       TIFFTAG_COMPRESSION             1      uint16*
       TIFFTAG_CONSECUTIVEBADFAXLINES  1      uint32*
       TIFFTAG_COPYRIGHT               1      char**
       TIFFTAG_DATATYPE                1      uint16*
       TIFFTAG_DATETIME                1      char**
       TIFFTAG_DOCUMENTNAME            1      char**
       TIFFTAG_DOTRANGE                2      uint16*
       TIFFTAG_EXTRASAMPLES            2      uint16*,uint16**  count & types array
       TIFFTAG_FAXFILLFUNC             1      TIFFFaxFillFunc*  G3/G4 compression pseudo-tag
       TIFFTAG_FAXMODE                 1      int*              G3/G4 compression pseudo-tag
       TIFFTAG_FILLORDER               1      uint16*
       TIFFTAG_GROUP3OPTIONS           1      uint32*
       TIFFTAG_GROUP4OPTIONS           1      uint32*
       TIFFTAG_HALFTONEHINTS           2      uint16*
       TIFFTAG_HOSTCOMPUTER            1      char**
       TIFFTAG_ICCPROFILE              2      uint32*,void**    count, profile data
       TIFFTAG_IMAGEDEPTH              1      uint32*
       TIFFTAG_IMAGEDESCRIPTION        1      char**
       TIFFTAG_IMAGELENGTH             1      uint32*
       TIFFTAG_IMAGEWIDTH              1      uint32*
       TIFFTAG_INKNAMES                1      char**
       TIFFTAG_INKSET                  1      uint16*
       TIFFTAG_JPEGCOLORMODE           1      int*              JPEG pseudo-tag
       TIFFTAG_JPEGQUALITY             1      int*              JPEG pseudo-tag
       TIFFTAG_JPEGTABLES              2      uint32*,void**    count & tables
       TIFFTAG_JPEGTABLESMODE          1      int*              JPEG pseudo-tag
       TIFFTAG_MAKE                    1      char**
       TIFFTAG_MATTEING                1      uint16*
       TIFFTAG_MAXSAMPLEVALUE          1      uint16*
       TIFFTAG_MINSAMPLEVALUE          1      uint16*
       TIFFTAG_MODEL                   1      char**
       TIFFTAG_ORIENTATION             1      uint16*
       TIFFTAG_PAGENAME                1      char**
       TIFFTAG_PAGENUMBER              2      uint16*
       TIFFTAG_PHOTOMETRIC             1      uint16*
       TIFFTAG_PHOTOSHOP               2      uint32*,void**    count, data
       TIFFTAG_PLANARCONFIG            1      uint16*
       TIFFTAG_PREDICTOR               1      uint16*
       TIFFTAG_PRIMARYCHROMATICITIES   1      float**           6-entry array
       TIFFTAG_REFERENCEBLACKWHITE     1      float**           6-entry array
       TIFFTAG_RESOLUTIONUNIT          1      uint16*
       TIFFTAG_RICHTIFFIPTC            2      uint32*,void**    count, data
       TIFFTAG_ROWSPERSTRIP            1      uint32*
       TIFFTAG_SAMPLEFORMAT            1      uint16*
       TIFFTAG_SAMPLESPERPIXEL         1      uint16*
       TIFFTAG_SMAXSAMPLEVALUE         1      double*
       TIFFTAG_SMINSAMPLEVALUE         1      double*
       TIFFTAG_SOFTWARE                1      char**
       TIFFTAG_STONITS                 1      double**
       TIFFTAG_STRIPBYTECOUNTS         1      uint32**
       TIFFTAG_STRIPOFFSETS            1      uint32**
       TIFFTAG_SUBFILETYPE             1      uint32*
       TIFFTAG_SUBIFD                  2      uint16*,uint32**  count & offsets array
       TIFFTAG_TARGETPRINTER           1      char**
       TIFFTAG_THRESHHOLDING           1      uint16*
       TIFFTAG_TILEBYTECOUNTS          1      uint32**
       TIFFTAG_TILEDEPTH               1      uint32*
       TIFFTAG_TILELENGTH              1      uint32*
       TIFFTAG_TILEOFFSETS             1      uint32**
       TIFFTAG_TILEWIDTH               1      uint32*
       TIFFTAG_TRANSFERFUNCTION        1 or 3-                  uint16**1<<BitsPerSample entry arrays
       TIFFTAG_WHITEPOINT              1      float**           2-entry array
       TIFFTAG_XMLPACKET               2      uint32*,void**    count, data
       TIFFTAG_XPOSITION               1      float*
       TIFFTAG_XRESOLUTION             1      float*
       TIFFTAG_YCBCRCOEFFICIENTS       1      float**           3-entry array
       TIFFTAG_YCBCRPOSITIONING        1      uint16*
       TIFFTAG_YCBCRSUBSAMPLING        2      uint16*
       TIFFTAG_YPOSITION               1      float*
       TIFFTAG_YRESOLUTION             1      float*=
       - If SamplesPerPixel is one, then a single array is returned; otherwise
       three arrays are returned.
       = The contents of this field are quite complex.  See The ICC Profile
       Format Specification, Annex B.3 "Embedding ICC Profiles in TIFF Files"
       (available at http://www.color.org) for an explanation.

AUTOREGISTERED TAGS
       If you can't find the tag in the table above that means this is
       unsupported tag. But you still be able to read it's value if you know
       the data type of that tag. For example, if you want to read the LONG
       value from the tag 33424 and ASCII string from the tag 36867 you can
       use the following code:

              uint16  count;
              void    *data;

              TIFFGetField(tiff, 33424, &count, &data);
              printf("Tag %d: %d, count %d0, 33424, *(uint32 *)data, count);
              TIFFGetField(tiff, 36867, &count, &data);
              printf("Tag %d: %s, count %d0, 36867, (char *)data, count);

       is not supported by libtiff(3TIFF), library

RETURN VALUES
       1 is returned if the tag is defined in the current directory; otherwise
       a 0 is returned.

DIAGNOSTICS
       All error messages are directed to the TIFFError(3TIFF) routine.

       Unknown field, tag 0x%x.  An unknown tag was supplied.

SEE ALSO
       TIFFOpen(3TIFF), TIFFSetField(3TIFF), TIFFSetDirectory(3TIFF),
       TIFFReadDirectory(3TIFF), TIFFWriteDirectory(3TIFF) libtiff(3TIFF),

       Libtiff library home page: http://www.remotesensing.org/libtiff/



libtiff                         March 18, 2005             TIFFGetField(3TIFF)
