dwww Home | Manual pages | Find package

TIFFSETFIELD(3tiff)                 LibTIFF                TIFFSETFIELD(3tiff)

NAME
       TIFFSetField  - set the value(s) of a tag in a TIFF file open for writ-
       ing

SYNOPSIS
          #include <tiffio.h>
          #include <stdarg.h>"

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

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

       int TIFFUnsetField(TIFF *tif, uint32_t tag)

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().   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  pre-
       scribed by the stdarg.h 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 function-
       ality provided by TIFFSetField().

       TIFFUnsetField() clears the contents  of  the  field  in  the  internal
       structure.  If  it  is  a  custom field, it is removed from the list of
       known tags.

       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:

TAG DATA TYPES
                      ┌──────────┬────────────────────────────┐
                      │Type      │ Description                │
                      ├──────────┼────────────────────────────┤
                      │char*     │ a  null-terminated  string │
                      │          │ corresponding to the ASCII │
                      │          │ data type                  │
                      ├──────────┼────────────────────────────┤
                      │uint16_t  │ an unsigned 16-bit value   │
                      ├──────────┼────────────────────────────┤
                      │uint32_t  │ an unsigned 32-bit value;  │
                      ├──────────┼────────────────────────────┤
                      │uint16_t* │ an   array   of   unsigned │
                      │          │ 16-bit values.             │
                      ├──────────┼────────────────────────────┤
                      │void*     │ an array of data values of │
                      │          │ unspecified type.          │
                      └──────────┴────────────────────────────┘

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

TAG PROPERTIES
         ───────────────────────────────────────────────────────────────────
          Tag name           Count     Types              Notes
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_ARTIST     1         char*
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_BADFAX-    1         uint32_t
          LINES
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_BITSPER-   1         uint16_t           †
          SAMPLE
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_CLEAN-     1         uint16_t
          FAXDATA
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_COLORMAP   3         uint16_t*          1  <<   BitsPer-
                                                          Sample arrays
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_COMPRES-   1         uint16_t           †
          SION
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_CONSECU-   1         uint32_t
          TIVEBADFAXLINES
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_COPY-      1         char*
          RIGHT
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_DATETIME   1         char*
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_DOCU-      1         char*
          MENTNAME
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_DOTRANGE   2         uint16_t
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_EX-        2         uint16_t,          †  count,  types
          TRASAMPLES                   uint16_t*          array
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_FAXFILL-   1         TIFFFaxFillFunc    G3/G4   compres-
          FUNC                                            sion pseudo-tag
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_FAXMODE    1         int                † G3/G4 compres-
                                                          sion pseudo-tag
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_FIL-       1         uint16_t           †
          LORDER
         ───────────────────────────────────────────────────────────────────
          TIFF-              1         uint32_t           †
          TAG_GROUP3OP-
          TIONS
         ───────────────────────────────────────────────────────────────────
          TIFF-              1         uint32_t           †
          TAG_GROUP4OP-
          TIONS
         ───────────────────────────────────────────────────────────────────
          TIFF-              2         uint16_t
          TAG_HALFTONE-
          HINTS
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_HOSTCOM-   1         char*
          PUTER
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_ICCPRO-    2         uint32_t, void*    count,   profile
          FILE                                            data*
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_IM-        1         uint32_t           †
          AGEDEPTH
         ───────────────────────────────────────────────────────────────────
          TIFFTAG_IM-        1         char*
          AGEDESCRIPTION
         ┼─────────────────┼─────────┼──────────────────┼──────────────────┼

         │TIFFTAG_IMAGE-   │ 1       │ uint32_t         │                  │
         │LENGTH           │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_IM-      │ 1       │ uint32_t         │ †                │
         │AGEWIDTH         │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_INKNAMES │ 2       │ uint16_t, char*  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_INKSET   │ 1       │ uint16_t         │ †                │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_JPEGCOL- │ 1       │ int              │ †           JPEG │
         │ORMODE           │         │                  │ pseudo-tag       │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFF-            │ 1       │ int              │ JPEG pseudo-tag  │
         │TAG_JPEGQUALITY  │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_JPEGTA-  │ 2       │ uint32_t*, void* │ † count, tables  │
         │BLES             │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_JPEGTA-  │ 1       │ int              │ †           JPEG │
         │BLESMODE         │         │                  │ pseudo-tag       │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_MAKE     │ 1       │ char*            │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_MATTEING │ 1       │ uint16_t         │ †                │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_MAXSAM-  │ 1       │ uint16_t         │                  │
         │PLEVALUE         │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_MINSAM-  │ 1       │ uint16_t         │                  │
         │PLEVALUE         │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_MODEL    │ 1       │ char*            │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_ORIENTA- │ 1       │ uint16_t         │                  │
         │TION             │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_PAGENAME │ 1       │ char*            │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_PAGENUM- │ 2       │ uint16_t         │                  │
         │BER              │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_PHOTO-   │ 1       │ uint16_t         │                  │
         │METRIC           │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_PHOTO-   │ ?       │ uint32_t, void*  │ count, data      │
         │SHOP             │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_PLANAR-  │ 1       │ uint16_t         │ †                │
         │CONFIG           │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_PREDIC-  │ 1       │ uint16_t         │ †                │
         │TOR              │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_PRIMA-   │ 1       │ float*           │ 6-entry array    │
         │RYCHROMATICITIES │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_REFER-   │ 1       │ float*           │ † 6-entry array  │
         │ENCEBLACKWHITE   │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_RESOLU-  │ 1       │ uint16_t         │                  │
         │TIONUNIT         │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFF-            │ 2       │ uint32_t, void*  │ count, data      │
         │TAG_RICHTIFFIPTC │         │                  │                  │
         └─────────────────┴─────────┴──────────────────┴──────────────────┘

         │TIFFTAG_ROWSPER- │ 1       │ uint32_t         │ † must be > 0    │
         │STRIP            │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_SAMPLE-  │ 1       │ uint16_t         │ †                │
         │FORMAT           │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_SAMPLES- │ 1       │ uint16_t         │ † value must  be │
         │PERPIXEL         │         │                  │ ≤ 4              │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_SMAXSAM- │ 1       │ double           │                  │
         │PLEVALUE         │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_SMINSAM- │ 1       │ double           │                  │
         │PLEVALUE         │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_SOFTWARE │ 1       │ char*            │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_STONITS  │ 1       │ double           │ †                │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_SUBFILE- │ 1       │ uint32_t         │                  │
         │TYPE             │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_SUBIFD   │ 2       │ uint16_t,        │ count,   offsets │
         │                 │         │ uint64_t*        │ array            │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_TARGET-  │ 1       │ char*            │                  │
         │PRINTER          │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_THRESH-  │ 1       │ uint16_t         │                  │
         │HOLDING          │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFF-            │ 1       │ uint32_t         │ †                │
         │TAG_TILEDEPTH    │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_TILE-    │ 1       │ uint32_t         │ † must be a mul- │
         │LENGTH           │         │                  │ tiple of 8       │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFF-            │ 1       │ uint32_t         │ † must be a mul- │
         │TAG_TILEWIDTH    │         │                  │ tiple of 8       │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_TRANS-   │ 1 or 3‡ │ uint16_t*        │ 1  <<   BitsPer- │
         │FERFUNCTION      │         │                  │ Sample entry ar- │
         │                 │         │                  │ rays             │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_WHITE-   │ 1       │ float*           │ 2-entry array    │
         │POINT            │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_XML-     │ 2       │ uint32_t, void*  │ count, data      │
         │PACKET           │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_XPOSI-   │ 1       │ float            │                  │
         │TION             │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_XRESOLU- │ 1       │ float            │                  │
         │TION             │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_YCBCRCO- │ 1       │ float*           │ † 3-entry array  │
         │EFFICIENTS       │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_YCBCRPO- │ 1       │ uint16_t         │ †                │
         │SITIONING        │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_YCBCR-   │ 2       │ uint16_t         │ †                │
         │SAMPLING         │         │                  │                  │
         └─────────────────┴─────────┴──────────────────┴──────────────────┘

         │TIFFTAG_YPOSI-   │ 1       │ float            │                  │
         │TION             │         │                  │                  │
         ├─────────────────┼─────────┼──────────────────┼──────────────────┤
         │TIFFTAG_YRESOLU- │ 1       │ float            │                  │
         │TION             │         │                  │                  │
         └─────────────────┴─────────┴──────────────────┴──────────────────┘

       †:     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 Pro-
              file Format Specification", Annex B.3 "Embedding ICC Profiles in
              TIFF Files" (available at http://www.color.org) for an  explana-
              tion.

RETURN VALUES
       1  is  returned  if  the operation was successful.  Otherwise, 0 is re-
       turned if an error was detected.

DIAGNOSTICS
       All error messages are directed to the TIFFErrorExtR() 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)

AUTHOR
       LibTIFF contributors

COPYRIGHT
       1988-2023, LibTIFF contributors

4.5                              Nov 23, 2023              TIFFSETFIELD(3tiff)

Generated by dwww version 1.15 on Wed Jun 26 18:08:00 CEST 2024.