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


       #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)


       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 TIFFGet-
       Field 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

       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 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_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_FAXMODE                 1      int*              G3/G4 compression pseudo-tag
       TIFFTAG_FAXFILLFUNC             1      TIFFFaxFillFunc*  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_IMAGEDEPTH              1      uint32*
       TIFFTAG_IMAGEDESCRIPTION        1      char**
       TIFFTAG_IMAGELENGTH             1      uint32*
       TIFFTAG_IMAGEWIDTH              1      uint32*
       TIFFTAG_INKNAMES                1      char**
       TIFFTAG_INKSET                  1      uint16*
       TIFFTAG_JPEGTABLES              2      uint32*,void**    count & tables
       TIFFTAG_JPEGQUALITY             1      int*              JPEG pseudo-tag
       TIFFTAG_JPEGCOLORMODE           1      int*              JPEG pseudo-tag
       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_PLANARCONFIG            1      uint16*
       TIFFTAG_PREDICTOR               1      uint16*
       TIFFTAG_PRIMARYCHROMATICITIES   1      float**           6-entry array
       TIFFTAG_REFERENCEBLACKWHITE     1      float**           2*SamplesPerPixel array
       TIFFTAG_RESOLUTIONUNIT          1      uint16*
       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_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*
       TIFFTAG_ICCPROFILE              2      uint32*,void**    count, profile data
        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 for an explanation.


       If  you can't find the tag in the table above that means this is unsup-
       ported 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


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


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

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


       libtiff(3TIFF),  TIFFOpen(3TIFF),  TIFFSetField(3TIFF),   TIFFSetDirec-
       tory(3TIFF), TIFFReadDirectory(3TIFF), TIFFWriteDirectory(3TIFF)

libtiff                         March 18, 2005             TIFFGetField(3TIFF)
See also TIFFGetFieldDefaulted(3)
See also TIFFVGetField(3)
See also TIFFVGetFieldDefaulted(3)

Man(1) output converted with man2html