TIFFSetField(3T) UNIX System V(June 18, 1991) TIFFSetField(3T)
NAME
TIFFSetField - set the value(s) of a tag in a TIFF file open for writing
SYNOPSIS
#include <tiffio.h>
int TIFFSetField(TIFF* tif, int tag, ...)
#include <varargs.h>
int TIFFVSetField(TIFF* tif, int tag, valist ap)
DESCRIPTION
TIFFSetField() sets the value of a field in the current directory
associated with the open TIFF file tif. The file must have been
previously opened for writing with TIFFOpen(3T). 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 varargs(3) interface. A 1 is
returned if the operation was successful, or 0 if an error was detected.
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. Tags marked
with a † may not have their values changed once an application begins
writing data. This restriction is applied to those tags that influence
the format of written data. The data types are specified as in C: char*
is null-terminated string and corresponds to the ASCII data type; u_short
is an unsigned 16-bit value; u_long is an unsigned 32-bit value; u_short*
is an array of unsigned 16-bit values. Consult the TIFF specification
for information on the meaning of each tag.
Tag Name Count Types Notes
TIFFTAG_ARTIST 1 char*
TIFFTAG_BADFAXLINES 1 u_long
TIFFTAG_BITSPERSAMPLE 1 u_short †
TIFFTAG_CLEANFAXDATA 1 u_short
TIFFTAG_COLORMAP 3 u_short* 1<<BitsPerSample arrays
TIFFTAG_COLORRESPONSECURVE 3 u_short* 1<<BitsPerSample entry arrays
TIFFTAG_COLORRESPONSEUNIT 1 u_short
TIFFTAG_COMPRESSION 1 u_short †
TIFFTAG_CONSECUTIVEBADFAXLINES 1 u_long
TIFFTAG_DATETIME 1 char*
TIFFTAG_DOCUMENTNAME 1 char*
TIFFTAG_FILLORDER 1 u_short †
TIFFTAG_GRAYRESPONSECURVE 1 u_short* 1<<BitsPerSample entry array
TIFFTAG_GRAYRESPONSEUNIT 1 u_short
TIFFTAG_GROUP3OPTIONS 1 u_long †
TIFFTAG_GROUP4OPTIONS 1 u_long †
TIFFTAG_HOSTCOMPUTER 1 char*
TIFFTAG_IMAGEDESCRIPTION 1 char*
10/89 Page 1
TIFFSetField(3T) UNIX System V(June 18, 1991) TIFFSetField(3T)
TIFFTAG_IMAGEDEPTH 1 u_long †
TIFFTAG_IMAGELENGTH 1 u_short
TIFFTAG_IMAGEWIDTH 1 u_short †
TIFFTAG_INKSET 1 u_short
TIFFTAG_JPEGPROC 1 u_short †
TIFFTAG_JPEGQTABLEPREC 1 u_short †
TIFFTAG_JPEGQTABLES 1 u_short** † SamplesPerPixel 64-entry arrays
TIFFTAG_JPEGDCTABLES 1 u_char** † SamplesPerPixel arrays
TIFFTAG_JPEGACTABLES 1 u_char** † SamplesPerPixel arrays
TIFFTAG_LUMACOEFS 1 u_short
TIFFTAG_MAKE 1 char*
TIFFTAG_MATTEING 1 u_short †
TIFFTAG_MAXSAMPLEVALUE 1 u_short
TIFFTAG_MINSAMPLEVALUE 1 u_short
TIFFTAG_MODEL 1 char*
TIFFTAG_ORIENTATION 1 u_short
TIFFTAG_PAGENAME 1 char*
TIFFTAG_PAGENUMBER 2 u_short
TIFFTAG_PHOTOMETRIC 1 u_short †
TIFFTAG_PLANARCONFIG 1 u_short †
TIFFTAG_PREDICTOR 1 u_short †
TIFFTAG_RESOLUTIONUNIT 1 u_short
TIFFTAG_ROWSPERSTRIP 1 u_long †
TIFFTAG_SAMPLESPERPIXEL 1 u_short † value must be <= 4
TIFFTAG_SOFTWARE 1 char*
TIFFTAG_SUBFILETYPE 1 u_long
TIFFTAG_THRESHHOLDING 1 u_short
TIFFTAG_TILEDEPTH 1 u_long †
TIFFTAG_TILELENGTH 1 u_long † must be a multiple of 8
TIFFTAG_TILEWIDTH 1 u_long † must be a multiple of 8
TIFFTAG_XPOSITION 1 float
TIFFTAG_XRESOLUTION 1 float
TIFFTAG_YPOSITION 1 float
TIFFTAG_YCBCRSAMPLING 1 u_short* † 8 entry array
TIFFTAG_YRESOLUTION 1 float
DIAGNOSTICS
All error messages are directed to the TIFFError(3T) 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.
Cannot handle %d-channel data A value greater than 4 was specified for
the SamplesPerPixel tag. The library handles at most 4 channel images.
%d: Bad value for "%s". An invalid value was supplied for the named tag.
This usually is caused by supplying the wrong number or type of
parameters.
Page 2 10/89
TIFFSetField(3T) UNIX System V(June 18, 1991) TIFFSetField(3T)
SEE ALSO
intro(3T), TIFFOpen(3T), TIFFGetField(3T), TIFFSetDirectory(3T),
TIFFWriteDirectory(3T), TIFFReadDirectory(3T)
10/89 Page 3