Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
TIFFGetField(3TIFF)					   TIFFGetField(3TIFF)

       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  li-
       brary  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  re-
       turned  is dependent on the tag being requested.	The programming	inter-
       face uses a variable argument list as prescribed	by the	stdarg(3)  in-
       terface.	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

       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 pa-
       rameter 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      const char**
       TIFFTAG_BADFAXLINES	       1      uint32_t*
       TIFFTAG_BITSPERSAMPLE	       1      uint16_t*
       TIFFTAG_CLEANFAXDATA	       1      uint16_t*
       TIFFTAG_COLORMAP		       3      const uint16_t**	1<<BitsPerSample arrays
       TIFFTAG_COMPRESSION	       1      uint16_t*
       TIFFTAG_COPYRIGHT	       1      const char**
       TIFFTAG_DATATYPE		       1      uint16_t*
       TIFFTAG_DATETIME		       1      const char**
       TIFFTAG_DOCUMENTNAME	       1      const char**
       TIFFTAG_DOTRANGE		       2      uint16_t*
       TIFFTAG_EXTRASAMPLES	       2      uint16_t*,const uint16_t**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_t*
       TIFFTAG_GROUP3OPTIONS	       1      uint32_t*
       TIFFTAG_GROUP4OPTIONS	       1      uint32_t*
       TIFFTAG_HALFTONEHINTS	       2      uint16_t*
       TIFFTAG_HOSTCOMPUTER	       1      const char**
       TIFFTAG_ICCPROFILE	       2      const uint32_t*,const void**count, profile data
       TIFFTAG_IMAGEDEPTH	       1      uint32_t*
       TIFFTAG_IMAGEDESCRIPTION	       1      const char**
       TIFFTAG_IMAGELENGTH	       1      uint32_t*
       TIFFTAG_IMAGEWIDTH	       1      uint32_t*
       TIFFTAG_INKNAMES		       1      const char**
       TIFFTAG_INKSET		       1      uint16_t*
       TIFFTAG_JPEGCOLORMODE	       1      int*		JPEG pseudo-tag
       TIFFTAG_JPEGQUALITY	       1      int*		JPEG pseudo-tag
       TIFFTAG_JPEGTABLES	       2      uint32_t*,const void**count & tables
       TIFFTAG_JPEGTABLESMODE	       1      int*		JPEG pseudo-tag
       TIFFTAG_MAKE		       1      const char**
       TIFFTAG_MATTEING		       1      uint16_t*
       TIFFTAG_MAXSAMPLEVALUE	       1      uint16_t*
       TIFFTAG_MINSAMPLEVALUE	       1      uint16_t*
       TIFFTAG_MODEL		       1      const char**
       TIFFTAG_ORIENTATION	       1      uint16_t*
       TIFFTAG_PAGENAME		       1      const char**
       TIFFTAG_PAGENUMBER	       2      uint16_t*
       TIFFTAG_PHOTOMETRIC	       1      uint16_t*
       TIFFTAG_PHOTOSHOP	       2      uint32_t*,const void**count, data
       TIFFTAG_PLANARCONFIG	       1      uint16_t*
       TIFFTAG_PREDICTOR	       1      uint16_t*
       TIFFTAG_PRIMARYCHROMATICITIES   1      const float**	6-entry	array
       TIFFTAG_REFERENCEBLACKWHITE     1      const float**	6-entry	array
       TIFFTAG_RESOLUTIONUNIT	       1      uint16_t*
       TIFFTAG_RICHTIFFIPTC	       2      uint32_t*,const void**count, data
       TIFFTAG_ROWSPERSTRIP	       1      uint32_t*
       TIFFTAG_SAMPLEFORMAT	       1      uint16_t*
       TIFFTAG_SAMPLESPERPIXEL	       1      uint16_t*
       TIFFTAG_SMAXSAMPLEVALUE	       1      double*
       TIFFTAG_SMINSAMPLEVALUE	       1      double*
       TIFFTAG_SOFTWARE		       1      const char**
       TIFFTAG_STONITS		       1      const double**
       TIFFTAG_STRIPBYTECOUNTS	       1      const uint64_t**
       TIFFTAG_STRIPOFFSETS	       1      const uint64_t**
       TIFFTAG_SUBFILETYPE	       1      uint32_t*
       TIFFTAG_SUBIFD		       2      uint16_t*,const uint64_t**count &	offsets	array
       TIFFTAG_TARGETPRINTER	       1      const char**
       TIFFTAG_THRESHHOLDING	       1      uint16_t*
       TIFFTAG_TILEBYTECOUNTS	       1      const uint64_t**
       TIFFTAG_TILEDEPTH	       1      uint32_t*
       TIFFTAG_TILELENGTH	       1      uint32_t*
       TIFFTAG_TILEOFFSETS	       1      const uint64_t**
       TIFFTAG_TILEWIDTH	       1      uint32_t*
       TIFFTAG_TRANSFERFUNCTION	       1 or 3<*>		const uint16_t**1<<BitsPerSample entry arrays
       TIFFTAG_WHITEPOINT	       1      const float**	2-entry	array
       TIFFTAG_XMLPACKET	       2      uint32_t*,const void**count, data
       TIFFTAG_XPOSITION	       1      float*
       TIFFTAG_XRESOLUTION	       1      float*
       TIFFTAG_YCBCRCOEFFICIENTS       1      const float**	3-entry	array
       TIFFTAG_YCBCRPOSITIONING	       1      uint16_t*
       TIFFTAG_YCBCRSUBSAMPLING	       2      uint16_t*
       TIFFTAG_YPOSITION	       1      float*
       TIFFTAG_YRESOLUTION	       1      float*<**>
       <*>  If SamplesPerPixel is one, then a single array is returned;	other-
       wise 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 an  un-
       supported  tag and is not directly supported by libtiff(3TIFF) library.
       You will	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

	      uint32_t	count;
	      void    *data;

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

       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.

       TIFFOpen(3TIFF),	 TIFFSetField(3TIFF),  TIFFSetDirectory(3TIFF),	 TIFF-
       ReadDirectory(3TIFF), TIFFWriteDirectory(3TIFF) libtiff(3TIFF),

       Libtiff library home page:

libtiff				March 29, 2020		   TIFFGetField(3TIFF)


Want to link to this manual page? Use this URL:

home | help