Blame man/TIFFSetField.3tiff

Packit 994f1a
.\" $Id: TIFFSetField.3tiff,v 1.4.2.1 2010-05-06 02:54:43 olivier Exp $
Packit 994f1a
.\"
Packit 994f1a
.\" Copyright (c) 1988-1997 Sam Leffler
Packit 994f1a
.\" Copyright (c) 1991-1997 Silicon Graphics, Inc.
Packit 994f1a
.\"
Packit 994f1a
.\" Permission to use, copy, modify, distribute, and sell this software and 
Packit 994f1a
.\" its documentation for any purpose is hereby granted without fee, provided
Packit 994f1a
.\" that (i) the above copyright notices and this permission notice appear in
Packit 994f1a
.\" all copies of the software and related documentation, and (ii) the names of
Packit 994f1a
.\" Sam Leffler and Silicon Graphics may not be used in any advertising or
Packit 994f1a
.\" publicity relating to the software without the specific, prior written
Packit 994f1a
.\" permission of Sam Leffler and Silicon Graphics.
Packit 994f1a
.\" 
Packit 994f1a
.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
Packit 994f1a
.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
Packit 994f1a
.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
Packit 994f1a
.\" 
Packit 994f1a
.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
Packit 994f1a
.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
Packit 994f1a
.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
Packit 994f1a
.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
Packit 994f1a
.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
Packit 994f1a
.\" OF THIS SOFTWARE.
Packit 994f1a
.\"
Packit 994f1a
.if n .po 0
Packit 994f1a
.TH TIFFSetField 3TIFF "October 29, 2004" "libtiff"
Packit 994f1a
.SH NAME
Packit 994f1a
TIFFSetField, TIFFVSetField \- set the value(s) of a tag in a
Packit 994f1a
.SM TIFF
Packit 994f1a
file open for writing
Packit 994f1a
.SH SYNOPSIS
Packit 994f1a
.B "#include <tiffio.h>"
Packit 994f1a
.sp
Packit 994f1a
.BI "int TIFFSetField(TIFF *" tif ", ttag_t " tag ", " ... ")"
Packit 994f1a
.sp
Packit 994f1a
.B "#include <stdarg.h>"
Packit 994f1a
.sp
Packit 994f1a
.BI "int TIFFVSetField(TIFF *" tif ", ttag_t " tag ", va_list " ap ")"
Packit 994f1a
.SH DESCRIPTION
Packit 994f1a
.IR TIFFSetField
Packit 994f1a
sets the value of a field
Packit 994f1a
or pseudo-tag in the current directory associated with
Packit 994f1a
the open
Packit 994f1a
.SM TIFF
Packit 994f1a
file
Packit 994f1a
.IR tif .
Packit 994f1a
(A
Packit 994f1a
.I pseudo-tag 
Packit 994f1a
is a parameter that is used to control the operation of the
Packit 994f1a
.SM TIFF
Packit 994f1a
library but whose value is not read or written to the underlying file.)
Packit 994f1a
To set the value of a field
Packit 994f1a
the file must have been previously opened for writing with
Packit 994f1a
.IR TIFFOpen (3TIFF);
Packit 994f1a
pseudo-tags can be set whether the file was opened for reading
Packit 994f1a
or writing.
Packit 994f1a
The field is identified by
Packit 994f1a
.IR tag ,
Packit 994f1a
one of the values defined in the include file
Packit 994f1a
.B tiff.h
Packit 994f1a
(see also the table below).
Packit 994f1a
The actual value is specified using a variable argument list,
Packit 994f1a
as prescribed by the
Packit 994f1a
.IR stdarg (3)
Packit 994f1a
interface (\c
Packit 994f1a
or, on some machines, the
Packit 994f1a
.IR varargs (3)
Packit 994f1a
interface.)
Packit 994f1a
.PP
Packit 994f1a
.IR TIFFVSetField
Packit 994f1a
is functionally equivalent to
Packit 994f1a
.IR TIFFSetField
Packit 994f1a
except that it takes a pointer to a variable
Packit 994f1a
argument list.
Packit 994f1a
.I TIFFVSetField
Packit 994f1a
is useful for writing routines that are layered
Packit 994f1a
on top of the functionality provided by
Packit 994f1a
.IR TIFFSetField .
Packit 994f1a
.PP
Packit 994f1a
The tags understood by
Packit 994f1a
.IR libtiff ,
Packit 994f1a
the number of parameter values, and the
Packit 994f1a
expected types for the parameter values are shown below.
Packit 994f1a
The data types are:
Packit 994f1a
.I char*
Packit 994f1a
is null-terminated string and corresponds to the
Packit 994f1a
.SM ASCII
Packit 994f1a
data type;
Packit 994f1a
.I uint16
Packit 994f1a
is an unsigned 16-bit value;
Packit 994f1a
.I uint32
Packit 994f1a
is an unsigned 32-bit value;
Packit 994f1a
.I uint16*
Packit 994f1a
is an array of unsigned 16-bit values.
Packit 994f1a
.I void*
Packit 994f1a
is an array of data values of unspecified type.
Packit 994f1a
Packit 994f1a
Consult the
Packit 994f1a
.SM TIFF
Packit 994f1a
specification for information on the meaning of each tag.
Packit 994f1a
.PP
Packit 994f1a
.nf
Packit 994f1a
.ta \w'TIFFTAG_CONSECUTIVEBADFAXLINES'u+2n +\w'Count'u+2n +\w'TIFFFaxFillFunc \(dg'u+2n
Packit 994f1a
\fITag Name\fP	\fICount\fP	\fITypes\fP	\fINotes\fP
Packit 994f1a
.sp 5p
Packit 994f1a
TIFFTAG_ARTIST	1	char*
Packit 994f1a
TIFFTAG_BADFAXLINES	1	uint32
Packit 994f1a
TIFFTAG_BITSPERSAMPLE	1	uint16	\(dg
Packit 994f1a
TIFFTAG_CLEANFAXDATA	1	uint16
Packit 994f1a
TIFFTAG_COLORMAP	3	uint16*	1<
Packit 994f1a
TIFFTAG_COMPRESSION	1	uint16	\(dg
Packit 994f1a
TIFFTAG_CONSECUTIVEBADFAXLINES	1	uint32
Packit 994f1a
TIFFTAG_COPYRIGHT	1	char*
Packit 994f1a
TIFFTAG_DATETIME	1	char*
Packit 994f1a
TIFFTAG_DOCUMENTNAME	1	char*
Packit 994f1a
TIFFTAG_DOTRANGE	2	uint16
Packit 994f1a
TIFFTAG_EXTRASAMPLES	2	uint16,uint16*	\(dg count & types array
Packit 994f1a
TIFFTAG_FAXFILLFUNC	1	TIFFFaxFillFunc	G3/G4 compression pseudo-tag
Packit 994f1a
TIFFTAG_FAXMODE	1	int	\(dg G3/G4 compression pseudo-tag
Packit 994f1a
TIFFTAG_FILLORDER	1	uint16	\(dg
Packit 994f1a
TIFFTAG_GROUP3OPTIONS	1	uint32	\(dg
Packit 994f1a
TIFFTAG_GROUP4OPTIONS	1	uint32	\(dg
Packit 994f1a
TIFFTAG_HALFTONEHINTS	2	uint16
Packit 994f1a
TIFFTAG_HOSTCOMPUTER	1	char*
Packit 994f1a
TIFFTAG_ICCPROFILE	2	uint32,void*	count, profile data
Packit 994f1a
TIFFTAG_IMAGEDEPTH	1	uint32	\(dg
Packit 994f1a
TIFFTAG_IMAGEDESCRIPTION	1	char*
Packit 994f1a
TIFFTAG_IMAGELENGTH	1	uint32
Packit 994f1a
TIFFTAG_IMAGEWIDTH	1	uint32	\(dg
Packit 994f1a
TIFFTAG_INKNAMES	2	uint16, char*
Packit 994f1a
TIFFTAG_INKSET	1	uint16	\(dg
Packit 994f1a
TIFFTAG_JPEGCOLORMODE	1	int	\(dg JPEG pseudo-tag
Packit 994f1a
TIFFTAG_JPEGQUALITY	1	int	JPEG pseudo-tag
Packit 994f1a
TIFFTAG_JPEGTABLES	2	uint32*,void*	\(dg count & tables
Packit 994f1a
TIFFTAG_JPEGTABLESMODE	1	int	\(dg JPEG pseudo-tag
Packit 994f1a
TIFFTAG_MAKE	1	char*
Packit 994f1a
TIFFTAG_MATTEING	1	uint16	\(dg
Packit 994f1a
TIFFTAG_MAXSAMPLEVALUE	1	uint16
Packit 994f1a
TIFFTAG_MINSAMPLEVALUE	1	uint16
Packit 994f1a
TIFFTAG_MODEL	1	char*
Packit 994f1a
TIFFTAG_ORIENTATION	1	uint16
Packit 994f1a
TIFFTAG_PAGENAME	1	char*
Packit 994f1a
TIFFTAG_PAGENUMBER	2	uint16
Packit 994f1a
TIFFTAG_PHOTOMETRIC	1	uint16
Packit 994f1a
TIFFTAG_PHOTOSHOP	?	uint32,void*	count, data
Packit 994f1a
TIFFTAG_PLANARCONFIG	1	uint16	\(dg
Packit 994f1a
TIFFTAG_PREDICTOR	1	uint16	\(dg
Packit 994f1a
TIFFTAG_PRIMARYCHROMATICITIES	1	float*	6-entry array
Packit 994f1a
TIFFTAG_REFERENCEBLACKWHITE	1	float*	\(dg 6-entry array
Packit 994f1a
TIFFTAG_RESOLUTIONUNIT	1	uint16
Packit 994f1a
TIFFTAG_RICHTIFFIPTC	2	uint32,void*	count, data
Packit 994f1a
TIFFTAG_ROWSPERSTRIP	1	uint32	\(dg must be > 0
Packit 994f1a
TIFFTAG_SAMPLEFORMAT	1	uint16	\(dg
Packit 994f1a
TIFFTAG_SAMPLESPERPIXEL	1	uint16	\(dg value must be <= 4
Packit 994f1a
TIFFTAG_SMAXSAMPLEVALUE	1	double
Packit 994f1a
TIFFTAG_SMINSAMPLEVALUE	1	double
Packit 994f1a
TIFFTAG_SOFTWARE	1	char*
Packit 994f1a
TIFFTAG_STONITS	1	double	\(dg
Packit 994f1a
TIFFTAG_SUBFILETYPE	1	uint32
Packit 994f1a
TIFFTAG_SUBIFD	2	uint16,uint32*	count & offsets array
Packit 994f1a
TIFFTAG_TARGETPRINTER	1	char*
Packit 994f1a
TIFFTAG_THRESHHOLDING	1	uint16
Packit 994f1a
TIFFTAG_TILEDEPTH	1	uint32	\(dg
Packit 994f1a
TIFFTAG_TILELENGTH	1	uint32	\(dg must be a multiple of 8
Packit 994f1a
TIFFTAG_TILEWIDTH	1	uint32	\(dg must be a multiple of 8
Packit 994f1a
TIFFTAG_TRANSFERFUNCTION	1 or 3\(dd uint16*	1<
Packit 994f1a
TIFFTAG_WHITEPOINT	1	float*	2-entry array
Packit 994f1a
TIFFTAG_XMLPACKET	2	uint32,void*	count, data
Packit 994f1a
TIFFTAG_XPOSITION	1	float
Packit 994f1a
TIFFTAG_XRESOLUTION	1	float
Packit 994f1a
TIFFTAG_YCBCRCOEFFICIENTS	1	float*	\(dg 3-entry array
Packit 994f1a
TIFFTAG_YCBCRPOSITIONING	1	uint16	\(dg
Packit 994f1a
TIFFTAG_YCBCRSAMPLING	2	uint16	\(dg
Packit 994f1a
TIFFTAG_YPOSITION	1	float
Packit 994f1a
TIFFTAG_YRESOLUTION	1	float
Packit 994f1a
.fi
Packit 994f1a
.sp 5p
Packit 994f1a
\(dg Tag may not have its values changed once data is written.
Packit 994f1a
.br
Packit 994f1a
.fi
Packit 994f1a
\(dd
Packit 994f1a
If
Packit 994f1a
.I SamplesPerPixel
Packit 994f1a
is one, then a single array is passed; otherwise three arrays should be
Packit 994f1a
passed.
Packit 994f1a
.fi
Packit 994f1a
* The contents of this field are quite complex.  See 
Packit 994f1a
.BR "The ICC Profile Format Specification" ,
Packit 994f1a
Annex B.3 "Embedding ICC Profiles in TIFF Files"
Packit 994f1a
(available at http://www.color.org) for an explanation.
Packit 994f1a
.br
Packit 994f1a
.SH "RETURN VALUES"
Packit 994f1a
1 is returned if the operation was successful.
Packit 994f1a
Otherwise, 0 is returned if an error was detected.
Packit 994f1a
.SH DIAGNOSTICS
Packit 994f1a
All error messages are directed to the
Packit 994f1a
.BR TIFFError (3TIFF)
Packit 994f1a
routine.
Packit 994f1a
.PP
Packit 994f1a
\fB%s: Cannot modify tag "%s" while writing\fP.
Packit 994f1a
Data has already been written to the file, so the
Packit 994f1a
specified tag's value can not be changed.
Packit 994f1a
This restriction is applied to all tags that affect
Packit 994f1a
the format of written data.
Packit 994f1a
.PP
Packit 994f1a
\fB%d: Bad value for "%s"\fP.
Packit 994f1a
An invalid value was supplied for the named tag.
Packit 994f1a
.SH "SEE ALSO"
Packit 994f1a
.BR TIFFOpen (3TIFF),
Packit 994f1a
.BR TIFFGetField (3TIFF),
Packit 994f1a
.BR TIFFSetDirectory (3TIFF),
Packit 994f1a
.BR TIFFWriteDirectory (3TIFF),
Packit 994f1a
.BR TIFFReadDirectory (3TIFF),
Packit 994f1a
.BR libtiff (3TIFF)
Packit 994f1a
.PP
Packit 994f1a
Libtiff library home page:
Packit 994f1a
.BR http://www.remotesensing.org/libtiff/