TIFFSetField(3tiff)


NAME

   TIFFSetField,  TIFFVSetField - set the value(s) of a tag in a TIFF file
   open for writing

SYNOPSIS

   #include <tiffio.h>

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

   #include <stdarg.h>

   int TIFFVSetField(TIFF *tif, ttag_t tag, va_list ap)

DESCRIPTION

   TIFFSetField sets the value of a field or  pseudo-tag  in  the  current
   directory  associated  with the open 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.)  To set the
   value of a field the file must have been previously opened for  writing
   with  TIFFOpen(3TIFF);  pseudo-tags  can  be  set  whether the file was
   opened for reading or writing.  The field is identified by tag, one  of
   the  values  defined  in  the  include  file tiff.h (see also the table
   below).  The actual value is specified using a variable argument  list,
   as  prescribed  by  the  stdarg(3) interface (or, on some machines, the
   varargs(3) interface.)

   TIFFVSetField is functionally equivalent to TIFFSetField except that it
   takes  a  pointer to a variable argument list.  TIFFVSetField is useful
   for writing routines that are  layered  on  top  of  the  functionality
   provided by TIFFSetField.

   The tags understood by libtiff, the number of parameter values, and the
   expected types for the parameter values  are  shown  below.   The  data
   types are: char* is null-terminated string and corresponds to the ASCII
   data type; uint16 is an unsigned 16-bit value; uint32  is  an  unsigned
   32-bit  value; uint16* is an array of unsigned 16-bit values.  void* is
   an array of data values of unspecified type.

   Consult the TIFF specification for information on the meaning  of  each
   tag.

   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_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                2      uint16, 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               ?      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              must be > 0
   TIFFTAG_SAMPLEFORMAT            1      uint16             
   TIFFTAG_SAMPLESPERPIXEL         1      uint16              value must be <= 4
   TIFFTAG_SMAXSAMPLEVALUE         1      double
   TIFFTAG_SMINSAMPLEVALUE         1      double
   TIFFTAG_SOFTWARE                1      char*
   TIFFTAG_STONITS                 1      double             
   TIFFTAG_SUBFILETYPE             1      uint32
   TIFFTAG_SUBIFD                  2      uint16,uint32*     count & offsets array
   TIFFTAG_TARGETPRINTER           1      char*
   TIFFTAG_THRESHHOLDING           1      uint16
   TIFFTAG_TILEDEPTH               1      uint32             
   TIFFTAG_TILELENGTH              1      uint32              must be a multiple of 8
   TIFFTAG_TILEWIDTH               1      uint32              must be a multiple of 8
   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_YCBCRSAMPLING           2      uint16             
   TIFFTAG_YPOSITION               1      float
   TIFFTAG_YRESOLUTION             1      float
    Tag may not have its values changed once data is written.
     If  SamplesPerPixel is one, then a single array is passed; otherwise
   three arrays should be passed.
   * 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.

RETURN VALUES

   1 is returned  if  the  operation  was  successful.   Otherwise,  0  is
   returned if an error was detected.

DIAGNOSTICS

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

   %s:  Cannot  modify  tag  "%s"  while  writing.   Data has already been
   written to the file, so the specified tag's value can not  be  changed.
   This  restriction  is  applied  to  all  tags that affect the format of
   written data.

   %d: Bad value for "%s".  An invalid value was supplied  for  the  named
   tag.

SEE ALSO

   TIFFOpen(3TIFF),      TIFFGetField(3TIFF),     TIFFSetDirectory(3TIFF),
   TIFFWriteDirectory(3TIFF), TIFFReadDirectory(3TIFF), libtiff(3TIFF)

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





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.