diff options
author | dron <dron> | 2004-11-11 14:39:16 +0000 |
---|---|---|
committer | dron <dron> | 2004-11-11 14:39:16 +0000 |
commit | 61f4066781bbb5b30d3643eaae3ccb0416e7ff03 (patch) | |
tree | a0058cf58bc124c541c5381329f78de7a1359610 /man | |
parent | f6d29dfbc7de4066482d192a307fa718d01fea29 (diff) | |
download | libtiff-61f4066781bbb5b30d3643eaae3ccb0416e7ff03.tar.gz |
Replace .3t suffix with the .3tiff.
Diffstat (limited to 'man')
41 files changed, 4932 insertions, 79 deletions
diff --git a/man/Makefile.am b/man/Makefile.am index 4eab28a5..d145b6c8 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -28,7 +28,7 @@ man_MANS = \ fax2ps.1 \ fax2tiff.1 \ gif2tiff.1 \ - libtiff.3t \ + libtiff.3tiff \ pal2rgb.1 \ ppm2tiff.1 \ ras2tiff.1 \ @@ -40,8 +40,8 @@ man_MANS = \ tiff2pdf.1 \ tiff2ps.1 \ tiff2rgba.1 \ - TIFFbuffer.3t \ - TIFFClose.3t \ + TIFFbuffer.3tiff \ + TIFFClose.3tiff \ tiffcmp.1 \ tiffcp.1 \ tiffdither.1 \ @@ -51,41 +51,41 @@ man_MANS = \ tiffmedian.1 \ tiffsplit.1 \ tiffsv.1 \ - TIFFcodec.3t \ - TIFFcolor.3t \ - TIFFDataWidth.3t \ - TIFFError.3t \ - TIFFFlush.3t \ - TIFFGetField.3t \ - TIFFmemory.3t \ - TIFFOpen.3t \ - TIFFPrintDirectory.3t \ - TIFFquery.3t \ - TIFFReadDirectory.3t \ - TIFFReadEncodedStrip.3t \ - TIFFReadEncodedTile.3t \ - TIFFReadRawStrip.3t \ - TIFFReadRawTile.3t \ - TIFFReadRGBAImage.3t \ - TIFFReadRGBAStrip.3t \ - TIFFReadRGBATile.3t \ - TIFFReadScanline.3t \ - TIFFReadTile.3t \ - TIFFRGBAImage.3t \ - TIFFSetDirectory.3t \ - TIFFSetField.3t \ - TIFFsize.3t \ - TIFFstrip.3t \ - TIFFswab.3t \ - TIFFtile.3t \ - TIFFWarning.3t \ - TIFFWriteDirectory.3t \ - TIFFWriteEncodedStrip.3t \ - TIFFWriteEncodedTile.3t \ - TIFFWriteRawStrip.3t \ - TIFFWriteRawTile.3t \ - TIFFWriteScanline.3t \ - TIFFWriteTile.3t + TIFFcodec.3tiff \ + TIFFcolor.3tiff \ + TIFFDataWidth.3tiff \ + TIFFError.3tiff \ + TIFFFlush.3tiff \ + TIFFGetField.3tiff \ + TIFFmemory.3tiff \ + TIFFOpen.3tiff \ + TIFFPrintDirectory.3tiff \ + TIFFquery.3tiff \ + TIFFReadDirectory.3tiff \ + TIFFReadEncodedStrip.3tiff \ + TIFFReadEncodedTile.3tiff \ + TIFFReadRawStrip.3tiff \ + TIFFReadRawTile.3tiff \ + TIFFReadRGBAImage.3tiff \ + TIFFReadRGBAStrip.3tiff \ + TIFFReadRGBATile.3tiff \ + TIFFReadScanline.3tiff \ + TIFFReadTile.3tiff \ + TIFFRGBAImage.3tiff \ + TIFFSetDirectory.3tiff \ + TIFFSetField.3tiff \ + TIFFsize.3tiff \ + TIFFstrip.3tiff \ + TIFFswab.3tiff \ + TIFFtile.3tiff \ + TIFFWarning.3tiff \ + TIFFWriteDirectory.3tiff \ + TIFFWriteEncodedStrip.3tiff \ + TIFFWriteEncodedTile.3tiff \ + TIFFWriteRawStrip.3tiff \ + TIFFWriteRawTile.3tiff \ + TIFFWriteScanline.3tiff \ + TIFFWriteTile.3tiff EXTRA_DIST = $(man_MANS) diff --git a/man/Makefile.in b/man/Makefile.in index 3ae5e840..498082bf 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.9.2 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -210,7 +210,7 @@ man_MANS = \ fax2ps.1 \ fax2tiff.1 \ gif2tiff.1 \ - libtiff.3t \ + libtiff.3tiff \ pal2rgb.1 \ ppm2tiff.1 \ ras2tiff.1 \ @@ -222,8 +222,8 @@ man_MANS = \ tiff2pdf.1 \ tiff2ps.1 \ tiff2rgba.1 \ - TIFFbuffer.3t \ - TIFFClose.3t \ + TIFFbuffer.3tiff \ + TIFFClose.3tiff \ tiffcmp.1 \ tiffcp.1 \ tiffdither.1 \ @@ -233,41 +233,41 @@ man_MANS = \ tiffmedian.1 \ tiffsplit.1 \ tiffsv.1 \ - TIFFcodec.3t \ - TIFFcolor.3t \ - TIFFDataWidth.3t \ - TIFFError.3t \ - TIFFFlush.3t \ - TIFFGetField.3t \ - TIFFmemory.3t \ - TIFFOpen.3t \ - TIFFPrintDirectory.3t \ - TIFFquery.3t \ - TIFFReadDirectory.3t \ - TIFFReadEncodedStrip.3t \ - TIFFReadEncodedTile.3t \ - TIFFReadRawStrip.3t \ - TIFFReadRawTile.3t \ - TIFFReadRGBAImage.3t \ - TIFFReadRGBAStrip.3t \ - TIFFReadRGBATile.3t \ - TIFFReadScanline.3t \ - TIFFReadTile.3t \ - TIFFRGBAImage.3t \ - TIFFSetDirectory.3t \ - TIFFSetField.3t \ - TIFFsize.3t \ - TIFFstrip.3t \ - TIFFswab.3t \ - TIFFtile.3t \ - TIFFWarning.3t \ - TIFFWriteDirectory.3t \ - TIFFWriteEncodedStrip.3t \ - TIFFWriteEncodedTile.3t \ - TIFFWriteRawStrip.3t \ - TIFFWriteRawTile.3t \ - TIFFWriteScanline.3t \ - TIFFWriteTile.3t + TIFFcodec.3tiff \ + TIFFcolor.3tiff \ + TIFFDataWidth.3tiff \ + TIFFError.3tiff \ + TIFFFlush.3tiff \ + TIFFGetField.3tiff \ + TIFFmemory.3tiff \ + TIFFOpen.3tiff \ + TIFFPrintDirectory.3tiff \ + TIFFquery.3tiff \ + TIFFReadDirectory.3tiff \ + TIFFReadEncodedStrip.3tiff \ + TIFFReadEncodedTile.3tiff \ + TIFFReadRawStrip.3tiff \ + TIFFReadRawTile.3tiff \ + TIFFReadRGBAImage.3tiff \ + TIFFReadRGBAStrip.3tiff \ + TIFFReadRGBATile.3tiff \ + TIFFReadScanline.3tiff \ + TIFFReadTile.3tiff \ + TIFFRGBAImage.3tiff \ + TIFFSetDirectory.3tiff \ + TIFFSetField.3tiff \ + TIFFsize.3tiff \ + TIFFstrip.3tiff \ + TIFFswab.3tiff \ + TIFFtile.3tiff \ + TIFFWarning.3tiff \ + TIFFWriteDirectory.3tiff \ + TIFFWriteEncodedStrip.3tiff \ + TIFFWriteEncodedTile.3tiff \ + TIFFWriteRawStrip.3tiff \ + TIFFWriteRawTile.3tiff \ + TIFFWriteScanline.3tiff \ + TIFFWriteTile.3tiff EXTRA_DIST = $(man_MANS) all: all-am diff --git a/man/TIFFClose.3tiff b/man/TIFFClose.3tiff new file mode 100644 index 00000000..a67fcac2 --- /dev/null +++ b/man/TIFFClose.3tiff @@ -0,0 +1,50 @@ +.\" $Id: TIFFClose.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFClose 3TIFF "May 2, 1990" "libtiff" +.SH NAME +TIFFClose \- close a previously opened +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "void TIFFClose(TIFF *" tif ")" +.SH DESCRIPTION +.IR TIFFClose +closes a file that was previously opened with +.IR TIFFOpen (3TIFF). +Any buffered data are flushed to the file, including the contents of the +current directory (if modified); and all resources are reclaimed. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +Likewise, warning messages are directed to the +.IR TIFFWarning (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF) diff --git a/man/TIFFDataWidth.3tiff b/man/TIFFDataWidth.3tiff new file mode 100644 index 00000000..f39b3235 --- /dev/null +++ b/man/TIFFDataWidth.3tiff @@ -0,0 +1,71 @@ +.\" $Id: TIFFDataWidth.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 2002, Andrey Kiselev <dron@remotesensing.org> +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFDataWidth 3TIFF "September 12, 2002" "libtiff" +.SH NAME +TIFFDataWidth \- Get the size of TIFF data types +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFDataWidth(TIFFDataType " type ")" +.SH DESCRIPTION +.I TIFFDataWidth +returns a size of +.I type +in bytes. +Currently following data types are supported: +.br +.I TIFF_BYTE +.br +.I TIFF_ASCII +.br +.I TIFF_SBYTE +.br +.I TIFF_UNDEFINED +.br +.I TIFF_SHORT +.br +.I TIFF_SSHORT +.br +.I TIFF_LONG +.br +.I TIFF_SLONG +.br +.I TIFF_FLOAT +.br +.I TIFF_IFD +.br +.I TIFF_RATIONAL +.br +.I TIFF_SRATIONAL +.br +.I TIFF_DOUBLE +.br +.SH "RETURN VALUES" +.br +.IR TIFFDataWidth +returns a number of bytes occupied by the item of given type. 0 returned when +uknown data type supplied. +.SH "SEE ALSO" +.IR libtiff (3TIFF), diff --git a/man/TIFFError.3tiff b/man/TIFFError.3tiff new file mode 100644 index 00000000..aac0bccd --- /dev/null +++ b/man/TIFFError.3tiff @@ -0,0 +1,66 @@ +.\" $Id: TIFFError.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFError 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFError, TIFFSetErrorHandler \- library error handling interface +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "void TIFFError(const char *" module ", const char *" fmt ", " ... ")" +.sp +.B "#include <stdarg.h>" +.sp +.BI "typedef void (*TIFFErrorHandler)(const char *" module ", const char *" fmt ", va_list " ap ");" +.br +.B "TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler handler);" +.SH DESCRIPTION +.I TIFFError +invokes the library-wide error handling function to (normally) write an error +message to the +.BR stderr . +The +.I fmt +parameter is a +.IR printf (3S) +format string, and any number arguments can be supplied. The +.I module +parameter, if non-zero, is printed before the message; it typically is used to +identify the software module in which an error is detected. +.PP +Applications that desire to capture control in the event of an error should +use +.IR TIFFSetErrorHandler +to override the default error handler. +A +.SM NULL +(0) error handling function may be installed to suppress error messages. +.SH "RETURN VALUES" +.IR TIFFSetErrorHandler +returns a reference to the previous error handling function. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFWarning (3TIFF), +.IR printf (3) diff --git a/man/TIFFFlush.3tiff b/man/TIFFFlush.3tiff new file mode 100644 index 00000000..99e4a262 --- /dev/null +++ b/man/TIFFFlush.3tiff @@ -0,0 +1,61 @@ +.\" $Id: TIFFFlush.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFFlush 3TIFF "December 16, 1991" "libtiff" +.SH NAME +TIFFFlush, TIFFFlushData \- flush pending writes to an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFFlush(TIFF *" tif ")" +.br +.BI "int TIFFFlushData(TIFF *" tif ")" +.SH DESCRIPTION +.IR TIFFFlush +causes any pending writes for the specified file (including writes for the +current directory) to be done. In normal operation this call is never needed \- +the library automatically does any flushing required. +.PP +.IR TIFFFlushData +flushes any pending image data for the specified file to be written out; +directory-related data are not flushed. In normal operation this call is never +needed \- the library automatically does any flushing required. +.SH "RETURN VALUES" +0 is returned if an error is encountered, otherwise 1 is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFWriteEncodedStrip (3TIFF), +.IR TIFFWriteEncodedTile (3TIFF), +.IR TIFFWriteRawStrip (3TIFF), +.IR TIFFWriteRawTile (3TIFF), +.IR TIFFWriteScanline (3TIFF), +.IR TIFFWriteTile (3TIFF) diff --git a/man/TIFFGetField.3tiff b/man/TIFFGetField.3tiff new file mode 100644 index 00000000..3400ab10 --- /dev/null +++ b/man/TIFFGetField.3tiff @@ -0,0 +1,205 @@ +.\" $Id: TIFFGetField.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFGetField 3TIFF "November 04, 2004" "libtiff" +.SH NAME +TIFFGetField, TIFFVGetField \- get the value(s) of a tag in an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFGetField(TIFF *" tif ", ttag_t " tag ", " ... ")" +.sp +.B "#include <stdarg.h>" +.sp +.BI "int TIFFVGetField(TIFF *" tif ", ttag_t " tag ", va_list " ap ")" +.br +.BI "int TIFFGetFieldDefaulted(TIFF *" tif ", ttag_t " tag ", " ... ")" +.br +.BI "int TIFFVGetFieldDefaulted(TIFF *" tif ", ttag_t " tag ", va_list " ap ")" +.SH DESCRIPTION +.IR TIFFGetField +returns the value of a tag or pseudo-tag associated with the the current +directory of the open +.SM TIFF +file +.IR tif . +(A +.I pseudo-tag +is a parameter that is used to control the operation of the +.SM TIFF +library but whose value is not read or written to the underlying file.) The +file must have been previously opened with +.IR TIFFOpen (3TIFF). +The tag is identified by +.IR tag , +one of the values defined in the include file +.B tiff.h +(see also the table below). +The type and number of values returned is dependent on the tag being +requested. The programming interface uses a variable argument list as +prescribed by the +.IR stdarg (3) +interface. The returned values should only be interpreted if +.IR TIFFGetField +returns 1. +.PP +.IR TIFFVGetField +is functionally equivalent to +.IR TIFFGetField +except that it takes a pointer to a variable argument list. +.I TIFFVGetField +is useful for layering interfaces on top of the functionality provided by +.IR TIFFGetField . +.PP +.IR TIFFGetFieldDefaulted +and +.IR TIFFVGetFieldDefaulted +are identical to +.IR TIFFGetField +and +.IR 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. +.PP +The tags understood by +.IR libtiff , +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 +.IR TIFFSetField (3TIFF). +Remember that +.IR TIFFGetField +returns parameter values, so all the listed data types are pointers to storage +where values should be returned. +Consult the +.SM TIFF +specification for information on the meaning of each tag and their possible +values. +.PP +.nf +.ta \w'TIFFTAG_CONSECUTIVEBADFAXLINES'u+2n +\w'Count'u+2n +\w'TIFFFaxFillFunc*'u+2n +\fITag Name\fP \fICount\fP \fITypes\fP \fINotes\fP +.sp 5p +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_DATATYPE 1 uint16* +TIFFTAG_DATETIME 1 char** +TIFFTAG_DOCUMENTNAME 1 char** +TIFFTAG_DOTRANGE 2 uint16* +TIFFTAG_EXTRASAMPLES 2 uint16*,uint16** count & types array +TIFFTAG_FAXMODE 1 int* G3/G4 compression pseudo-tag +TIFFTAG_FAXFILLFUNC 1 TIFFFaxFillFunc* 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_IMAGEDEPTH 1 uint32* +TIFFTAG_IMAGEDESCRIPTION 1 char** +TIFFTAG_IMAGELENGTH 1 uint32* +TIFFTAG_IMAGEWIDTH 1 uint32* +TIFFTAG_INKNAMES 1 char** +TIFFTAG_INKSET 1 uint16* +TIFFTAG_JPEGTABLES 2 uint32*,void** count & tables +TIFFTAG_JPEGQUALITY 1 int* JPEG pseudo-tag +TIFFTAG_JPEGCOLORMODE 1 int* JPEG pseudo-tag +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_PLANARCONFIG 1 uint16* +TIFFTAG_PREDICTOR 1 uint16* +TIFFTAG_PRIMARYCHROMATICITIES 1 float** 6-entry array +TIFFTAG_REFERENCEBLACKWHITE 1 float** 2*SamplesPerPixel array +TIFFTAG_RESOLUTIONUNIT 1 uint16* +TIFFTAG_ROWSPERSTRIP 1 uint32* +TIFFTAG_SAMPLEFORMAT 1 uint16* +TIFFTAG_SAMPLESPERPIXEL 1 uint16* +TIFFTAG_SMAXSAMPLEVALUE 1 double* +TIFFTAG_SMINSAMPLEVALUE 1 double* +TIFFTAG_SOFTWARE 1 char** +TIFFTAG_STONITS 1 double** +TIFFTAG_STRIPBYTECOUNTS 1 uint32** +TIFFTAG_STRIPOFFSETS 1 uint32** +TIFFTAG_SUBFILETYPE 1 uint32* +TIFFTAG_SUBIFD 2 uint16*,uint32** count & offsets array +TIFFTAG_TARGETPRINTER 1 char** +TIFFTAG_THRESHHOLDING 1 uint16* +TIFFTAG_TILEBYTECOUNTS 1 uint32** +TIFFTAG_TILEDEPTH 1 uint32* +TIFFTAG_TILELENGTH 1 uint32* +TIFFTAG_TILEOFFSETS 1 uint32** +TIFFTAG_TILEWIDTH 1 uint32* +TIFFTAG_TRANSFERFUNCTION 1 or 3\(dg uint16**1<<BitsPerSample entry arrays +TIFFTAG_WHITEPOINT 1 float** 2-entry array +TIFFTAG_XPOSITION 1 float* +TIFFTAG_XRESOLUTION 1 float* +TIFFTAG_YCBCRCOEFFICIENTS 1 float** 3-entry array +TIFFTAG_YCBCRPOSITIONING 1 uint16* +TIFFTAG_YCBCRSUBSAMPLING 2 uint16* +TIFFTAG_YPOSITION 1 float* +TIFFTAG_YRESOLUTION 1 float* +TIFFTAG_ICCPROFILE 2 uint32*,void** count, profile data\(dd +.fi +\(dg If +.I SamplesPerPixel +is one, then a single array is returned; otherwise three arrays are +returned. +.fi +\(dd The contents of this field are quite complex. See +.IR "The ICC Profile Format Specification" , +Annex B.3 "Embedding ICC Profiles in TIFF Files" (available at +http://www.color.org) for an explanation. +.SH "RETURN VALUES" +1 is returned if the tag is defined in the current directory; otherwise a 0 is + returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "Unknown field, tag 0x%x" . +An unknown tag was supplied. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFSetField (3TIFF), +.IR TIFFSetDirectory (3TIFF), +.IR TIFFReadDirectory (3TIFF), +.IR TIFFWriteDirectory (3TIFF) diff --git a/man/TIFFOpen.3tiff b/man/TIFFOpen.3tiff new file mode 100644 index 00000000..e30cb09b --- /dev/null +++ b/man/TIFFOpen.3tiff @@ -0,0 +1,274 @@ +.\" $Id: TIFFOpen.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFOpen 3TIFF "January 9, 1996" "libtiff" +.SH NAME +TIFFOpen, TIFFFdOpen, TIFFClientOpen \- open a +.SM TIFF +file for reading or writing +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "TIFF* TIFFOpen(const char *" filename ", const char *" mode ")" +.br +.BI "TIFF* TIFFFdOpen(const int " fd ", const char *" filename ", const char *" mode ")" +.sp +.B "typedef tsize_t (*TIFFReadWriteProc)(thandle_t, tdata_t, tsize_t);" +.br +.B "typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int);" +.br +.B "typedef int (*TIFFCloseProc)(thandle_t);" +.br +.B "typedef toff_t (*TIFFSizeProc)(thandle_t);" +.br +.B "typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*, toff_t*);" +.br +.B "typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t);" +.sp +.BI "TIFF* TIFFClientOpen(const char *" filename ", const char *" mode ", thandle_t " clientdata ", TIFFReadWriteProc " readproc ", TIFFReadWriteProc " writeproc ", TIFFSeekProc " seekproc ", TIFFCloseProc " closeproc ", TIFFSizeProc " sizeproc ", TIFFMapFileProc " mapproc ", TIFFUnmapFileProc " unmapproc ")" +.SH DESCRIPTION +.IR TIFFOpen +opens a +.SM TIFF +file whose name is +.I filename +and returns a handle to be used in subsequent calls to routines in +.IR libtiff . +If the open operation fails, then zero is returned. +The +.I mode +parameter specifies if the file is to be opened for reading (``r''), +writing (``w''), or appending (``a'') and, optionally, whether +to override certain default aspects of library operation (see below). +When a file is opened for appending, existing data will not +be touched; instead new data will be written as additional subfiles. +If an existing file is opened for writing, all previous data is +overwritten. +.PP +If a file is opened for reading, the first +.SM TIFF +directory in the file is automatically read +(also see +.IR TIFFSetDirectory (3TIFF) +for reading directories other than the first). +If a file is opened for writing or appending, a default directory +is automatically created for writing subsequent data. +This directory has all the default values specified in +.SM TIFF +Revision 6.0: +.IR BitsPerSample =1, +.IR ThreshHolding "=bilevel art scan," +.IR FillOrder =1 +(most significant bit of each data byte is filled first), +.IR Orientation =1 +(the 0th row represents the visual top of the image, and the 0th +column represents the visual left hand side), +.IR SamplesPerPixel =1, +.IR RowsPerStrip =infinity, +.IR ResolutionUnit =2 +(inches), and +.IR Compression =1 +(no compression). +To alter these values, or to define values for additional fields, +.IR TIFFSetField (3TIFF) +must be used. +.PP +.IR TIFFFdOpen +is like +.IR TIFFOpen +except that it opens a +.SM TIFF +file given an open file descriptor +.IR fd . +The file's name and mode must reflect that of the open descriptor. +The object associated with the file descriptor +.BR "must support random access" . +.PP +.IR TIFFClientOpen +is like +.IR TIFFOpen +except that the caller supplies a collection of functions that the +library will use to do \s-1UNIX\s+1-like I/O operations. +The +.I readproc +and +.I writeproc +are called to read and write data at the current file position. +.I seekproc +is called to change the current file position a la +.IR lseek (2). +.I closeproc +is invoked to release any resources associated with an open file. +.I sizeproc +is invoked to obtain the size in bytes of a file. +.I mapproc +and +.I unmapproc +are called to map and unmap a file's contents in memory; c.f. +.IR mmap (2) +and +.IR munmap (2). +The +.I clientdata +parameter is an opaque ``handle'' passed to the client-specified +routines passed as parameters to +.IR TIFFClientOpen . +.SH OPTIONS +The open mode parameter can include the following flags in +addition to the ``r'', ``w'', and ``a'' flags. +Note however that option flags must follow the read-write-append +specification. +.TP +.B l +When creating a new file force information be written with +Little-Endian byte order (but see below). +By default the library will create new files using the native +.SM CPU +byte order. +.TP +.B b +When creating a new file force information be written with +Big-Endian byte order (but see below). +By default the library will create new files using the native +.SM CPU +byte order. +.TP +.B L +Force image data that is read or written to be treated with +bits filled from Least Significant Bit (\s-1LSB\s+1) to +Most Significant Bit (\s-1MSB\s+1). +Note that this is the opposite to the way the library has +worked from its inception. +.TP +.B B +Force image data that is read or written to be treated with +bits filled from Most Significant Bit (\s-1MSB\s+1) to +Least Significant Bit (\s-1LSB\s+1); this is the default. +.TP +.B H +Force image data that is read or written to be treated with +bits filled in the same order as the native +.SM CPU. +.TP +.B M +Enable the use of memory-mapped files for images opened read-only. +If the underlying system does not support memory-mapped files +or if the specific image being opened cannot be memory-mapped +then the library will fallback to using the normal system interface +for reading information. +By default the library will attempt to use memory-mapped files. +.TP +.B m +Disable the use of memory-mapped files. +.TP +.B C +Enable the use of ``strip chopping'' when reading images +that are comprised of a single strip or tile of uncompressed data. +Strip chopping is a mechanism by which the library will automatically +convert the single-strip image to multiple strips, +each of which has about 8 Kilobytes of data. +This facility can be useful in reducing the amount of memory used +to read an image because the library normally reads each strip +in its entirety. +Strip chopping does however alter the apparent contents of the +image because when an image is divided into multiple strips it +looks as though the underlying file contains multiple separate +strips. +Finally, note that default handling of strip chopping is a compile-time +configuration parameter. +The default behaviour, for backwards compatibility, is to enable +strip chopping. +.TP +.B c +Disable the use of strip chopping when reading images. +.SH "BYTE ORDER" +The +.SM TIFF +specification (\fBall versions\fP) states that compliant readers +.IR "must be capable of reading images written in either byte order" . +Nonetheless some software that claims to support the reading of +.SM TIFF +images is incapable of reading images in anything but the native +.SM CPU +byte order on which the software was written. +(Especially notorious +are applications written to run on Intel-based machines.) +By default the library will create new files with the native +byte-order of the +.SM CPU +on which the application is run. +This ensures optimal performance and is portable to any application +that conforms to the TIFF specification. +To force the library to use a specific byte-order when creating +a new file the ``b'' and ``l'' option flags may be included in +the call to open a file; for example, ``wb'' or ``wl''. +.SH "RETURN VALUES" +Upon successful completion +.IR TIFFOpen , +.IR TIFFFdOpen , +and +.IR TIFFClientOpen +return a +.SM TIFF +pointer. +Otherwise, NULL is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +Likewise, warning messages are directed to the +.IR TIFFWarning (3TIFF) +routine. +.PP +\fB"%s": Bad mode\fP. +The specified +.I mode +parameter was not one of ``r'' (read), ``w'' (write), or ``a'' (append). +.PP +.BR "%s: Cannot open" . +.IR TIFFOpen () +was unable to open the specified filename for read/writing. +.PP +.BR "Cannot read TIFF header" . +An error occurred while attempting to read the header information. +.PP +.BR "Error writing TIFF header" . +An error occurred while writing the default header information +for a new file. +.PP +.BR "Not a TIFF file, bad magic number %d (0x%x)" . +The magic number in the header was not (hex) +0x4d4d or (hex) 0x4949. +.PP +.BR "Not a TIFF file, bad version number %d (0x%x)" . +The version field in the header was not 42 (decimal). +.PP +.BR "Cannot append to file that has opposite byte ordering" . +A file with a byte ordering opposite to the native byte +ordering of the current machine was opened for appending (``a''). +This is a limitation of the library. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFClose (3TIFF) diff --git a/man/TIFFPrintDirectory.3tiff b/man/TIFFPrintDirectory.3tiff new file mode 100644 index 00000000..437b09e2 --- /dev/null +++ b/man/TIFFPrintDirectory.3tiff @@ -0,0 +1,70 @@ +.\" $Id: TIFFPrintDirectory.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1991-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFPrintDirectory 3TIFF "December 12, 1991" "libtiff" +.SH NAME +TIFFPrintDirectory \- print a description of a +.SM TIFF +directory +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "void TIFFPrintDirectory(TIFF *" tif ", FILE *" fd ", long " flags ")" +.SH DESCRIPTION +.I TIFFPrintDirectory +prints a description of the current directory in the specified +.SM TIFF +file to the standard I/O output stream +.IR fd . +The +.I flags +parameter is used to control the +.I "level of detail" +of the printed information; it is a bit-or of the flags defined in +.BR tiffio.h : +.sp .5 +.nf +.ta \w'#define 'u +\w'TIFFPRINT_JPEGDCTABLES 'u +\w'0x200 'u +#define TIFFPRINT_NONE 0x0 /* no extra info */ +#define TIFFPRINT_STRIPS 0x1 /* strips/tiles info */ +#define TIFFPRINT_CURVES 0x2 /* color/gray response curves */ +#define TIFFPRINT_COLORMAP 0x4 /* colormap */ +#define TIFFPRINT_JPEGQTABLES 0x100 /* JPEG Q matrices */ +#define TIFFPRINT_JPEGACTABLES 0x200 /* JPEG AC tables */ +#define TIFFPRINT_JPEGDCTABLES 0x200 /* JPEG DC tables */ +.fi +.SH NOTES +In C++ the +.I flags +parameter defaults to 0. +.SH "RETURN VALUES" +None. +.SH DIAGNOSTICS +None. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadDirectory (3TIFF), +.IR TIFFSetDirectory (3TIFF) diff --git a/man/TIFFRGBAImage.3tiff b/man/TIFFRGBAImage.3tiff new file mode 100644 index 00000000..dc5bbfa9 --- /dev/null +++ b/man/TIFFRGBAImage.3tiff @@ -0,0 +1,283 @@ +.\" $Id: TIFFRGBAImage.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1991-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFRGBAImage 3TIFF "October 29, 2004" "libtiff" +.SH NAME +TIFFRGBAImageOK, TIFFRGBAImageBegin, TIFFRGBAImageGet, TIFFRGBAImageEnd +\- read and decode an image into a raster +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.B "typedef unsigned char TIFFRGBValue;" +.B "typedef struct _TIFFRGBAImage TIFFRGBAImage;" +.sp +.BI "int TIFFRGBAImageOK(TIFF *" tif ", char " emsg[1024] ")" +.br +.BI "int TIFFRGBAImageBegin(TIFFRGBAImage *" img ", TIFF* " tif ", int " stopOnError ", char " emsg[1024] ")" +.br +.BI "int TIFFRGBAImageGet(TIFFRGBAImage *" img ", uint32* " raster ", uint32 " width " , uint32 " height ")" +.br +.BI "void TIFFRGBAImageEnd(TIFFRGBAImage *" img ")" +.br +.SH DESCRIPTION +The routines described here provide a high-level interface +through which +.SM TIFF +images may be read into memory. +Images may be strip- or tile-based and have a variety of different +characteristics: bits/sample, samples/pixel, photometric, etc. +Decoding state is encapsulated in a +.I TIFFRGBAImage +structure making it possible to capture state for multiple images +and quickly switch between them. +The target raster format can be customized to a particular application's +needs by installing custom routines that manipulate image data +according to application requirements. +.PP +The default usage for these routines is: check if an image can +be processed using +.IR TIFFRGBAImageOK , +construct a decoder state block using +.IR TIFFRGBAImageBegin , +read and decode an image into a target raster using +.IR TIFFRGBAImageGet , +and then +release resources using +.IR TIFFRGBAImageEnd . +.I TIFFRGBAImageGet +can be called multiple times to decode an image using different +state parameters. +If multiple images are to be displayed and there is not enough +space for each of the decoded rasters, multiple state blocks can +be managed and then calls can be made to +.I TIFFRGBAImageGet +as needed to display an image. +.PP +The generated raster is assumed to be an array of +.I width +times +.I height +32-bit entries, where +.I width +must be less than or equal to the width of the image (\c +.I height +may be any non-zero size). +If the raster dimensions are smaller than the image, the image data +is cropped to the raster bounds. +If the raster height is greater than that of the image, then the +image data are placed in the lower part of the raster. +(Note that the raster is assume to be organized such that the pixel +at location (\fIx\fP,\fIy\fP) is \fIraster\fP[\fIy\fP*\fIwidth\fP+\fIx\fP]; +with the raster origin in the +.B lower-left +hand corner.) +.PP +Raster pixels are 8-bit packed red, green, blue, alpha samples. +The macros +.IR TIFFGetR , +.IR TIFFGetG , +.IR TIFFGetB , +and +.I TIFFGetA +should be used to access individual samples. +Images without Associated Alpha matting information have a constant +Alpha of 1.0 (255). +.PP +.I TIFFRGBAImageGet +converts non-8-bit images by scaling sample values. +Palette, grayscale, bilevel, +.SM CMYK\c +, and YCbCr images are converted to +.SM RGB +transparently. +Raster pixels are returned uncorrected by any colorimetry information +present in the directory. +.PP +The parameter +.I stopOnError +specifies how to act if an error is encountered while reading +the image. +If +.I stopOnError +is non-zero, then an error will terminate the operation; otherwise +.I TIFFRGBAImageGet +will continue processing data until all the possible data in the +image have been requested. +.SH "ALTERNATE RASTER FORMATS" +To use the core support for reading and processing +.SM TIFF +images, but write the resulting raster data in a different format +one need only override the ``\fIput methods\fP'' used to store raster data. +These methods are are defined in the +.I TIFFRGBAImage +structure and initially setup by +.I TIFFRGBAImageBegin +to point to routines that pack raster data in the default +.SM ABGR +pixel format. +Two different routines are used according to the physical organization +of the image data in the file: +.IR PlanarConfiguration =1 +(packed samples), +and +.IR PlanarConfiguration =2 +(separated samples). +Note that this mechanism can be used to transform the data before +storing it in the raster. +For example one can convert data +to colormap indices for display on a colormap display. +.SH "SIMULTANEOUS RASTER STORE AND DISPLAY" +It is simple to display an image as it is being read into memory +by overriding the put methods as described above for supporting +alternate raster formats. +Simply keep a reference to the default put methods setup by +.I TIFFRGBAImageBegin +and then invoke them before or after each display operation. +For example, the +.IR tiffgt (1) +utility uses the following put method to update the display as +the raster is being filled: +.sp +.nf +.ft C +static void +putContigAndDraw(TIFFRGBAImage* img, uint32* raster, + uint32 x, uint32 y, uint32 w, uint32 h, + int32 fromskew, int32 toskew, + unsigned char* cp) +{ + (*putContig)(img, raster, x, y, w, h, fromskew, toskew, cp); + if (x+w == width) { + w = width; + if (img->orientation == ORIENTATION_TOPLEFT) + lrectwrite(0, y-(h-1), w-1, y, raster-x-(h-1)*w); + else + lrectwrite(0, y, w-1, y+h-1, raster); + } +} +.ft R +.fi +.sp +(the original routine provided by the library is saved in the +variable +.IR putContig .) +.SH "SUPPORTING ADDITIONAL TIFF FORMATS" +The +.I TIFFRGBAImage +routines support the most commonly encountered flavors of +.SM TIFF. +It is possible to extend this support by overriding the ``\fIget method\fP'' +invoked by +.I TIFFRGBAImageGet +to read +.SM TIFF +image data. +Details of doing this are a bit involved, it is best to make a copy +of an existing get method and modify it to suit the needs of an +application. +.SH NOTES +Samples must be either 1, 2, 4, 8, or 16 bits. +Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. +.I SamplesPerPixel +minus +.IR ExtraSamples ). +.PP +Palette image colormaps that appear to be incorrectly written +as 8-bit values are automatically scaled to 16-bits. +.SH "RETURN VALUES" +All routines return +1 if the operation was successful. +Otherwise, 0 is returned if an error was encountered and +.I stopOnError +is zero. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "Sorry, can not handle %d-bit pictures" . +The image had +.I BitsPerSample +other than 1, 2, 4, 8, or 16. +.PP +.BR "Sorry, can not handle %d-channel images" . +The image had +.I SamplesPerPixel +other than 1, 3, or 4. +.PP +\fBMissing needed "PhotometricInterpretation" tag\fP. +The image did not have a tag that describes how to display +the data. +.PP +\fBNo "PhotometricInterpretation" tag, assuming RGB\fP. +The image was missing a tag that describes how to display it, +but because it has 3 or 4 samples/pixel, it is assumed to be +.SM RGB. +.PP +\fBNo "PhotometricInterpretation" tag, assuming min-is-black\fP. +The image was missing a tag that describes how to display it, +but because it has 1 sample/pixel, it is assumed to be a grayscale +or bilevel image. +.PP +.BR "No space for photometric conversion table" . +There was insufficient memory for a table used to convert +image samples to 8-bit +.SM RGB. +.PP +\fBMissing required "Colormap" tag\fP. +A Palette image did not have a required +.I Colormap +tag. +.PP +.BR "No space for tile buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "No space for strip buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "Can not handle format" . +The image has a format (combination of +.IR BitsPerSample , +.IR SamplesPerPixel , +and +.IR PhotometricInterpretation ) +that can not be handled. +.PP +.BR "No space for B&W mapping table" . +There was insufficient memory to allocate a table used to map +grayscale data to +.SM RGB. +.PP +.BR "No space for Palette mapping table" . +There was insufficient memory to allocate a table used to map +data to 8-bit +.SM RGB. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadRGBAImage (3TIFF), +.IR TIFFReadRGBAImageOriented (3TIFF), +.IR TIFFReadRGBAStrip (3TIFF), +.IR TIFFReadRGBATile (3TIFF) diff --git a/man/TIFFReadDirectory.3tiff b/man/TIFFReadDirectory.3tiff new file mode 100644 index 00000000..80d0e7b6 --- /dev/null +++ b/man/TIFFReadDirectory.3tiff @@ -0,0 +1,161 @@ +.\" $Id: TIFFReadDirectory.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadDirectory 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFReadDirectory \- get the contents of the next directory in an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFReadDirectory(TIFF *" tif ")" +.SH DESCRIPTION +Read the next directory in the specified file and make it the current +directory. Applications only need to call +.I TIFFReadDirectory +to read multiple subfiles in a single +.SM TIFF +file\(em +the first directory in a file is automatically read when +.IR TIFFOpen +is called. +.SH NOTES +If the library is compiled with +.SM STRIPCHOP_SUPPORT +enabled, then images that have a single uncompressed strip or tile of data are +automatically treated as if they were made up of multiple strips or tiles of +approximately 8 kilobytes each. This operation is done only in-memory; it does +not alter the contents of the file. However, the construction of the ``chopped +strips'' is visible to the application through the number of strips [tiles] +returned by +.I TIFFNumberOfStrips +[\c +.IR TIFFNumberOfTiles ]. +.SH "RETURN VALUES" +If the next directory was successfully read, 1 is returned. Otherwise, 0 is +returned if an error was encountered, or if there are no more directories to +be read. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +All warning messages are directed to the +.IR TIFFWarning (3TIFF) +routine. +.PP +\fBSeek error accessing TIFF directory\fP. +An error occurred while positioning to the location of the +directory. +.PP +\fBWrong data type %d for field "%s"\fP. +The tag entry in the directory had an incorrect data type. +For example, an +.I ImageDescription +tag with a +.SM SHORT +data type. +.PP +\fBTIFF directory is missing required "%s" field\fP. +The specified tag is required to be present by the +.SM TIFF +5.0 specification, but is missing. +The directory is (usually) unusable. +.PP +\fB%s: Rational with zero denominator\fP. +A directory tag has a +.SM RATIONAL +value whose denominator is zero. +.PP +\fBIncorrect count %d for field "%s" (%lu, expecting %lu); tag ignored\fP. +The specified tag's count field is bad. +For example, a count other than 1 for a +.I SubFileType +tag. +.PP +\fBCannot handle different per-sample values for field "%s"\fP. +The tag has +.I SamplesPerPixel +values and they are not all the same; e.g. +.IR BitsPerSample . +The library is unable to handle images of this sort. +.PP +\fBCount mismatch for field "%s"; expecting %d, got %d\fP. +The count field in a +tag does not agree with the number expected by the library. +This should never happen, so if it does, the library refuses to +read the directory. +.PP +\fBInvalid TIFF directory; tags are not sorted in ascending order\fP. +The directory tags are not properly sorted as specified +in the +.SM TIFF +5.0 specification. +This error is not fatal. +.PP +\fBIgnoring unknown field with tag %d (0x%x)\fP. +An unknown tag was encountered in the directory; +the library ignores all such tags. +.PP +\fBTIFF directory is missing requred "ImageLength" field\fP. +The image violates the specification by not having a necessary field. +There is no way for the library to recover from this error. +.PP +\fBTIFF directory is missing requred "PlanarConfig" field\fP. +The image violates the specification by not having a necessary field. +There is no way for the library to recover from this error. +.PP +\fBTIFF directory is missing requred "StripOffsets" field\fP. +The image has multiple strips, but is missing the tag that +specifies the file offset to each strip of data. +There is no way for the library to recover from this error. +.PP +\fBTIFF directory is missing requred "TileOffsets" field\fP. +The image has multiple tiles, but is missing the tag that +specifies the file offset to each tile of data. +There is no way for the library to recover from this error. +.PP +\fBTIFF directory is missing required "StripByteCounts" field\fP. +The image has multiple strips, but is missing the tag that +specifies the size of each strip of data. +There is no way for the library to recover from this error. +.PP +\fBTIFF directory is missing required "StripByteCounts" field, calculating from imagelength\fP. +The image violates the specification by not having a necessary field. +However, when the image is comprised of only one strip or tile, the +library will estimate the missing value based on the file size. +.PP +\fBBogus "StripByteCounts" field, ignoring and calculating from imagelength\fP. +Certain vendors violate the specification by writing zero for +the StripByteCounts tag when they want to leave the value +unspecified. +If the image has a single strip, the library will estimate +the missing value based on the file size. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFWriteDirectory (3TIFF), +.IR TIFFSetDirectory (3TIFF), +.IR TIFFSetSubDirectory (3TIFF) diff --git a/man/TIFFReadEncodedStrip.3tiff b/man/TIFFReadEncodedStrip.3tiff new file mode 100644 index 00000000..3a9db115 --- /dev/null +++ b/man/TIFFReadEncodedStrip.3tiff @@ -0,0 +1,75 @@ +.\" $Id: TIFFReadEncodedStrip.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadEncodedStrip 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFReadEncodedStrip \- read and decode a strip of data from an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFReadEncodedStrip(TIFF *" tif ", tstrip_t " strip ", tdata_t " buf ", tsize_t " size ")" +.SH DESCRIPTION +Read the specified strip of data and place up to +.I size +bytes of decompressed information in the (user supplied) data buffer. +.SH NOTES +The value of +.I strip +is a ``raw strip number.'' +That is, the caller must take into account whether or not the data are +organized in separate planes (\c +.IR PlanarConfiguration =2). +To read a full strip of data the data buffer should typically be at least as +large as the number returned by +.IR TIFFStripSize (3TIFF). +If the -1 passed in +.I size +parameter, the whole strip will be read. You should be sure you have enough +space allocated for the buffer. +.PP +The library attempts to hide bit- and byte-ordering differences between the +image and the native machine by converting data to the native machine order. +Bit reversal is done if the +.I FillOrder +tag is opposite to the native machine bit order. 16- and 32-bit samples are +automatically byte-swapped if the file was written with a byte order opposite +to the native machine byte order, +.SH "RETURN VALUES" +The actual number of bytes of data that were placed in +.I buf +is returned; +.IR TIFFReadEncodedStrip +returns \-1 if an error was encountered. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadRawStrip (3TIFF), +.IR TIFFReadScanline (3TIFF) diff --git a/man/TIFFReadEncodedTile.3tiff b/man/TIFFReadEncodedTile.3tiff new file mode 100644 index 00000000..99bba008 --- /dev/null +++ b/man/TIFFReadEncodedTile.3tiff @@ -0,0 +1,73 @@ +.\" $Id: TIFFReadEncodedTile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadEncodedTile 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFReadEncodedTile \- read and decode a tile of data from an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFReadEncodedTile(TIFF *" tif ", u_long " tile ", u_char *" buf ", u_long " size ")" +.SH DESCRIPTION +Read the specified tile of data and place up to +.I size +bytes of decompressed information in the (user supplied) data buffer. +.SH NOTES +The value of +.I tile +is a ``raw tile number.'' +That is, the caller must take into account whether or not the data are +organized in separate planes (\c +.IR PlanarConfiguration =2). +.IR TIFFComputeTile +automatically does this when converting an (x,y,z,sample) coordinate quadruple +to a tile number. To read a full tile of data the data buffer should be at +least as large as the value returned by +.IR TIFFTileSize . +.PP +The library attempts to hide bit- and byte-ordering differences between the +image and the native machine by converting data to the native machine order. +Bit reversal is done if the +.I FillOrder +tag is opposite to the native machine bit order. 16- and 32-bit samples are +automatically byte-swapped if the file was written with a byte order opposite +to the native machine byte order, +.SH "RETURN VALUES" +The actual number of bytes of data that were placed in +.I buf +is returned; +.IR TIFFReadEncodedTile +returns \-1 if an error was encountered. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadRawTile (3TIFF), +.IR TIFFReadTile (3TIFF) diff --git a/man/TIFFReadRGBAImage.3tiff b/man/TIFFReadRGBAImage.3tiff new file mode 100644 index 00000000..69977bd6 --- /dev/null +++ b/man/TIFFReadRGBAImage.3tiff @@ -0,0 +1,215 @@ +.\" $Id: TIFFReadRGBAImage.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1991-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadRGBAImage 3TIFF "October 29, 2004" "libtiff" +.SH NAME +TIFFReadRGBAImage, TIFFReadRGBAImageOriented \- read and decode an image +into a fixed-format raster +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.B "#define TIFFGetR(abgr) ((abgr) & 0xff)" +.br +.B "#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)" +.br +.B "#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)" +.br +.B "#define TIFFGetA(abgr) (((abgr) >> 24) & 0xff)" +.sp +.BI "int TIFFReadRGBAImage(TIFF *" tif ", u_long " width ", u_long " height ", u_long *" raster ", int " stopOnError ")" +.br +.BI "int TIFFReadRGBAImageOriented(TIFF *" tif ", u_long " width ", u_long " height ", u_long *" raster ", int " orientation ", int " stopOnError ")" +.br +.SH DESCRIPTION +.IR TIFFReadRGBAImage +reads a strip- or tile-based image into memory, storing the +result in the user supplied +.IR raster . +The raster is assumed to be an array of +.I width +times +.I height +32-bit entries, where +.I width +must be less than or equal to the width of the image (\c +.I height +may be any non-zero size). +If the raster dimensions are smaller than the image, the image data +is cropped to the raster bounds. +If the raster height is greater than that of the image, then the +image data are placed in the lower part of the raster. +(Note that the raster is assume to be organized such that the pixel +at location (\fIx\fP,\fIy\fP) is \fIraster\fP[\fIy\fP*\fIwidth\fP+\fIx\fP]; +with the raster origin in the lower-left hand corner.) +.PP +.IR TIFFReadRGBAImageOriented +works like +.IR TIFFReadRGBAImage +with except of that user can specify the raster origin position with the +.I orientation +parameter. Four orientations supported: +.TP +.B ORIENTATION_TOPLEFT +origin in top-left corner, +.TP +.B ORIENTATION_TOPRIGHT +origin in top-right corner, +.TP +.B ORIENTATION_BOTLEFT +origin in bottom-left corner +and +.TP +.B ORIENTATION_BOTRIGHT +origin in bottom-right corner. +.LP +If you choose +.B ORIENTATION_BOTLEFT +result will be the same as returned by the +.IR TIFFReadRGBAImage. +.PP +Raster pixels are 8-bit packed red, green, blue, alpha samples. +The macros +.IR TIFFGetR , +.IR TIFFGetG , +.IR TIFFGetB , +and +.I TIFFGetA +should be used to access individual samples. +Images without Associated Alpha matting information have a constant +Alpha of 1.0 (255). +.PP +.I TIFFReadRGBAImage +converts non-8-bit images by scaling sample values. +Palette, grayscale, bilevel, +.SM CMYK\c +, and YCbCr images are converted to +.SM RGB +transparently. +Raster pixels are returned uncorrected by any colorimetry information +present in the directory. +.PP +The paramater +.I stopOnError +specifies how to act if an error is encountered while reading +the image. +If +.I stopOnError +is non-zero, then an error will terminate the operation; otherwise +.I TIFFReadRGBAImage +will continue processing data until all the possible data in the +image have been requested. +.SH NOTES +In C++ the +.I stopOnError +parameter defaults to 0. +.PP +Samples must be either 1, 2, 4, 8, or 16 bits. +Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. +.I SamplesPerPixel +minus +.IR ExtraSamples ). +.PP +Palettte image colormaps that appear to be incorrectly written +as 8-bit values are automatically scaled to 16-bits. +.PP +.I TIFFReadRGBAImage +is just a wrapper around the more general +.IR TIFFRGBAImage (3TIFF) +facilities. +.SH "RETURN VALUES" +1 is returned if the image was successfully read and converted. +Otherwise, 0 is returned if an error was encountered and +.I stopOnError +is zero. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "Sorry, can not handle %d-bit pictures" . +The image had +.I BitsPerSample +other than 1, 2, 4, 8, or 16. +.PP +.BR "Sorry, can not handle %d-channel images" . +The image had +.I SamplesPerPixel +other than 1, 3, or 4. +.PP +\fBMissing needed "PhotometricInterpretation" tag\fP. +The image did not have a tag that describes how to display +the data. +.PP +\fBNo "PhotometricInterpretation" tag, assuming RGB\fP. +The image was missing a tag that describes how to display it, +but because it has 3 or 4 samples/pixel, it is assumed to be +.SM RGB. +.PP +\fBNo "PhotometricInterpretation" tag, assuming min-is-black\fP. +The image was missing a tag that describes how to display it, +but because it has 1 sample/pixel, it is assumed to be a grayscale +or bilevel image. +.PP +.BR "No space for photometric conversion table" . +There was insufficient memory for a table used to convert +image samples to 8-bit +.SM RGB. +.PP +\fBMissing required "Colormap" tag\fP. +A Palette image did not have a required +.I Colormap +tag. +.PP +.BR "No space for tile buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "No space for strip buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "Can not handle format" . +The image has a format (combination of +.IR BitsPerSample , +.IR SamplesPerPixel , +and +.IR PhotometricInterpretation ) +that +.I TIFFReadRGBAImage +can not handle. +.PP +.BR "No space for B&W mapping table" . +There was insufficient memory to allocate a table used to map +grayscale data to +.SM RGB. +.PP +.BR "No space for Palette mapping table" . +There was insufficient memory to allocate a table used to map +data to 8-bit +.SM RGB. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFRGBAImage (3TIFF), +.IR TIFFReadRGBAStrip (3TIFF), +.IR TIFFReadRGBATile (3TIFF) diff --git a/man/TIFFReadRGBAStrip.3tiff b/man/TIFFReadRGBAStrip.3tiff new file mode 100644 index 00000000..ac6f888e --- /dev/null +++ b/man/TIFFReadRGBAStrip.3tiff @@ -0,0 +1,166 @@ +.\" $Id: TIFFReadRGBAStrip.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1991-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadRGBAStrip 3TIFF "December 10, 1998" "libtiff" +.SH NAME +TIFFReadRGBAStrip \- read and decode an image strip into a fixed-format raster +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.B "#define TIFFGetR(abgr) ((abgr) & 0xff)" +.br +.B "#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)" +.br +.B "#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)" +.br +.B "#define TIFFGetA(abgr) (((abgr) >> 24) & 0xff)" +.sp +.BI "int TIFFReadRGBAStrip(TIFF *" tif ", uint32 " row ", uint32 *" raster ")" +.SH DESCRIPTION +.IR TIFFReadRGBAStrip +reads a single strip of a strip-based image into memory, storing the result in +the user supplied RGBA +.IR raster . +The raster is assumed to be an array of width times rowsperstrip 32-bit +entries, where width is the width of the image (TIFFTAG_IMAGEWIDTH) and +rowsperstrip is the maximum lines in a strip (TIFFTAG_ROWSPERSTRIP). + +.PP +The +.IR row +value should be the row of the first row in the strip (strip * rowsperstrip, +zero based). + +.PP +Note that the raster is assume to be organized such that the pixel at location +(\fIx\fP,\fIy\fP) is \fIraster\fP[\fIy\fP*\fIwidth\fP+\fIx\fP]; with the +raster origin in the +.I lower-left hand corner +of the strip. That is bottom to top organization. When reading a partial last +strip in the file the last line of the image will begin at the beginning of +the buffer. + +.PP +Raster pixels are 8-bit packed red, green, blue, alpha samples. The macros +.IR TIFFGetR , +.IR TIFFGetG , +.IR TIFFGetB , +and +.I TIFFGetA +should be used to access individual samples. Images without Associated Alpha +matting information have a constant Alpha of 1.0 (255). +.PP +See the +.IR TIFFRGBAImage (3TIFF) +page for more details on how various image types are converted to RGBA values. +.SH NOTES +Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must +be either 1, 3, or 4 (i.e. +.I SamplesPerPixel +minus +.IR ExtraSamples ). +.PP +Palette image colormaps that appear to be incorrectly written as 8-bit values +are automatically scaled to 16-bits. +.PP +.I TIFFReadRGBAStrip +is just a wrapper around the more general +.IR TIFFRGBAImage (3TIFF) +facilities. It's main advantage over the similar +.IR TIFFReadRGBAImage() +function is that for large images a single buffer capable of holding the whole +image doesn't need to be allocated, only enough for one strip. The +.IR TIFFReadRGBATile() +function does a similar operation for tiled images. +.SH "RETURN VALUES" +1 is returned if the image was successfully read and converted. +Otherwise, 0 is returned if an error was encountered. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "Sorry, can not handle %d-bit pictures" . +The image had +.I BitsPerSample +other than 1, 2, 4, 8, or 16. +.PP +.BR "Sorry, can not handle %d-channel images" . +The image had +.I SamplesPerPixel +other than 1, 3, or 4. +.PP +\fBMissing needed "PhotometricInterpretation" tag\fP. +The image did not have a tag that describes how to display the data. +.PP +\fBNo "PhotometricInterpretation" tag, assuming RGB\fP. +The image was missing a tag that describes how to display it, but because it +has 3 or 4 samples/pixel, it is assumed to be +.SM RGB. +.PP +\fBNo "PhotometricInterpretation" tag, assuming min-is-black\fP. The image was +missing a tag that describes how to display it, but because it has 1 +sample/pixel, it is assumed to be a grayscale or bilevel image. +.PP +.BR "No space for photometric conversion table" . +There was insufficient memory for a table used to convert image samples to +8-bit +.SM RGB. +.PP +\fBMissing required "Colormap" tag\fP. +A Palette image did not have a required +.I Colormap +tag. +.PP +.BR "No space for tile buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "No space for strip buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "Can not handle format" . +The image has a format (combination of +.IR BitsPerSample , +.IR SamplesPerPixel , +and +.IR PhotometricInterpretation ) +that +.I TIFFReadRGBAImage +can not handle. +.PP +.BR "No space for B&W mapping table" . +There was insufficient memory to allocate a table used to map grayscale data +to +.SM RGB. +.PP +.BR "No space for Palette mapping table" . +There was insufficient memory to allocate a table used to map data to 8-bit +.SM RGB. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFRGBAImage (3TIFF), +.IR TIFFReadRGBAImage (3TIFF), +.IR TIFFReadRGBATile (3TIFF) diff --git a/man/TIFFReadRGBATile.3tiff b/man/TIFFReadRGBATile.3tiff new file mode 100644 index 00000000..5f8130af --- /dev/null +++ b/man/TIFFReadRGBATile.3tiff @@ -0,0 +1,168 @@ +.\" $Id: TIFFReadRGBATile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1991-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadRGBATile 3TIFF "December 10, 1998" "libtiff" +.SH NAME +TIFFReadRGBATile \- read and decode an image tile into a fixed-format raster +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.B "#define TIFFGetR(abgr) ((abgr) & 0xff)" +.br +.B "#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)" +.br +.B "#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)" +.br +.B "#define TIFFGetA(abgr) (((abgr) >> 24) & 0xff)" +.sp +.BI "int TIFFReadRGBATile(TIFF *" tif ", uint32 " x ", uint32 " y ", uint32 *" raster ")" +.SH DESCRIPTION +.IR TIFFReadRGBATile +reads a single tile of a tile-based image into memory, storing the result in +the user supplied RGBA +.IR raster . +The raster is assumed to be an array of width times length 32-bit entries, +where width is the width of a tile (TIFFTAG_TILEWIDTH) and length is the +height of a tile (TIFFTAG_TILELENGTH). + +.PP +The +.IR x +and +.IR y +values are the offsets from the top left corner to the top left corner of the +tile to be read. They must be an exact multiple of the tile width and length. + +.PP +Note that the raster is assume to be organized such that the pixel at location +(\fIx\fP,\fIy\fP) is \fIraster\fP[\fIy\fP*\fIwidth\fP+\fIx\fP]; with the +raster origin in the +.I lower-left hand corner +of the tile. That is bottom to top organization. Edge tiles which partly fall +off the image will be filled out with appropriate zeroed areas. + +.PP +Raster pixels are 8-bit packed red, green, blue, alpha samples. The macros +.IR TIFFGetR , +.IR TIFFGetG , +.IR TIFFGetB , +and +.I TIFFGetA +should be used to access individual samples. Images without Associated Alpha +matting information have a constant Alpha of 1.0 (255). +.PP +See the +.IR TIFFRGBAImage (3TIFF) +page for more details on how various image types are converted to RGBA values. +.SH NOTES +Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must +be either 1, 3, or 4 (i.e. +.I SamplesPerPixel +minus +.IR ExtraSamples ). +.PP +Palette image colormaps that appear to be incorrectly written as 8-bit values +are automatically scaled to 16-bits. +.PP +.I TIFFReadRGBATile +is just a wrapper around the more general +.IR TIFFRGBAImage (3TIFF) +facilities. It's main advantage over the similar +.IR TIFFReadRGBAImage() +function is that for large images a single buffer capable of holding the whole +image doesn't need to be allocated, only enough for one tile. The +.IR TIFFReadRGBAStrip() +function does a similar operation for stripped images. +.SH "RETURN VALUES" +1 is returned if the image was successfully read and converted. +Otherwise, 0 is returned if an error was encountered. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "Sorry, can not handle %d-bit pictures" . +The image had +.I BitsPerSample +other than 1, 2, 4, 8, or 16. +.PP +.BR "Sorry, can not handle %d-channel images" . +The image had +.I SamplesPerPixel +other than 1, 3, or 4. +.PP +\fBMissing needed "PhotometricInterpretation" tag\fP. +The image did not have a tag that describes how to display the data. +.PP +\fBNo "PhotometricInterpretation" tag, assuming RGB\fP. +The image was missing a tag that describes how to display it, but because it +has 3 or 4 samples/pixel, it is assumed to be +.SM RGB. +.PP +\fBNo "PhotometricInterpretation" tag, assuming min-is-black\fP. +The image was missing a tag that describes how to display it, +but because it has 1 sample/pixel, it is assumed to be a grayscale +or bilevel image. +.PP +.BR "No space for photometric conversion table" . +There was insufficient memory for a table used to convert +image samples to 8-bit +.SM RGB. +.PP +\fBMissing required "Colormap" tag\fP. +A Palette image did not have a required +.I Colormap +tag. +.PP +.BR "No space for tile buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "No space for strip buffer" . +There was insufficient memory to allocate an i/o buffer. +.PP +.BR "Can not handle format" . +The image has a format (combination of +.IR BitsPerSample , +.IR SamplesPerPixel , +and +.IR PhotometricInterpretation ) +that +.I TIFFReadRGBAImage +can not handle. +.PP +.BR "No space for B&W mapping table" . +There was insufficient memory to allocate a table used to map +grayscale data to +.SM RGB. +.PP +.BR "No space for Palette mapping table" . +There was insufficient memory to allocate a table used to map data to 8-bit +.SM RGB. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFRGBAImage (3TIFF), +.IR TIFFReadRGBAImage (3TIFF), +.IR TIFFReadRGBAStrip (3TIFF) diff --git a/man/TIFFReadRawStrip.3tiff b/man/TIFFReadRawStrip.3tiff new file mode 100644 index 00000000..6289e6ea --- /dev/null +++ b/man/TIFFReadRawStrip.3tiff @@ -0,0 +1,61 @@ +.\" $Id: TIFFReadRawStrip.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadRawStrip 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFReadRawStrip \- return the undecoded contents of a strip of data from an +open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFReadRawStrip(TIFF *" tif ", tstrip_t " strip ", tdata_t " buf ", tsize_t " size ")" +.SH DESCRIPTION +Read the contents of the specified strip into the (user supplied) data buffer. +Note that the value of +.I strip +is a ``raw strip number.'' That is, the caller must take into account whether +or not the data is organized in separate planes (\c +.IR PlanarConfiguration =2). +To read a full strip of data the data buffer should typically be at least as +large as the number returned by +.IR TIFFStripSize . +.SH "RETURN VALUES" +The actual number of bytes of data that were placed in +.I buf +is returned; +.IR TIFFReadEncodedStrip +returns \-1 if an error was encountered. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadEncodedStrip (3TIFF), +.IR TIFFReadScanline (3TIFF), +.IR TIFFStripSize (3TIFF) diff --git a/man/TIFFReadRawTile.3tiff b/man/TIFFReadRawTile.3tiff new file mode 100644 index 00000000..36cbb3c5 --- /dev/null +++ b/man/TIFFReadRawTile.3tiff @@ -0,0 +1,62 @@ +.\" $Id: TIFFReadRawTile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadRawTile 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFReadRawTile \- return an undecoded tile of data from an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFReadRawTile(TIFF *" tif ", ttile_t " tile ", tdata_t " buf ", tsize_t " size ")" +.SH DESCRIPTION +Read the contents of the specified tile into the (user supplied) data buffer. +Note that the value of +.I tile +is a ``raw tile number.'' That is, the caller must take into account whether +or not the data is organized in separate planes (\c +.IR PlanarConfiguration =2). +.I TIFFComputeTile +automatically does this when converting an (x,y,z,sample) coordinate quadruple +to a tile number. To read a full tile of data the data buffer should typically +be at least as large as the value returned by +.IR TIFFTileSize . +.SH "RETURN VALUES" +The actual number of bytes of data that were placed in +.I buf +is returned; +.IR TIFFReadEncodedTile +returns \-1 if an error was encountered. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadEncodedTile (3TIFF), +.IR TIFFReadTile (3TIFF), +.IR TIFFTileSize (3TIFF) diff --git a/man/TIFFReadScanline.3tiff b/man/TIFFReadScanline.3tiff new file mode 100644 index 00000000..3b0da283 --- /dev/null +++ b/man/TIFFReadScanline.3tiff @@ -0,0 +1,91 @@ +.\" $Id: TIFFReadScanline.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadScanline 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFReadScanline \- read and decode a scanline of data from an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFReadScanline(TIFF *" tif ", tdata_t " buf ", uint32 " row ", tsample_t " sample ")" +.SH DESCRIPTION +Read the data for the specified row into the (user supplied) data buffer +.IR buf . +The data are returned decompressed and, in the native byte- and bit-ordering, +but are otherwise packed (see further below). The buffer must be large enough +to hold an entire scanline of data. Applications should call the routine +.IR TIFFScanlineSize +to find out the size (in bytes) of a scanline buffer. +The +.I row +parameter is always used by +.IR TIFFReadScanline ; +the +.I sample +parameter is used only if data are organized in separate planes (\c +.IR PlanarConfiguration =2). +.SH NOTES +The library attempts to hide bit- and byte-ordering differences between the +image and the native machine by converting data to the native machine order. +Bit reversal is done if the +.I FillOrder +tag is opposite to the native machine bit order. 16- and 32-bit samples are +automatically byte-swapped if the file was written with a byte order opposite +to the native machine byte order, +.PP +In C++ the +.I sample +parameter defaults to 0. +.SH "RETURN VALUES" +.IR TIFFReadScanline +returns \-1 if it detects an error; otherwise 1 is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "Compression algorithm does not support random access" . +Data was requested in a non-sequential order from a file that uses a +compression algorithm and that has +.I RowsPerStrip +greater than one. +That is, data in the image is stored in a compressed form, and with multiple +rows packed into a strip. In this case, the library does not support random +access to the data. The data should either be accessed sequentially, or the +file should be converted so that each strip is made up of one row of data. +.SH BUGS +Reading subsampled YCbCR data does not work correctly because, for +.IR PlanarConfiguration =2 +the size of a scanline is not calculated on a per-sample basis, and for +.IR PlanarConfiguration =1 +the library does not unpack the block-interleaved samples; use the strip- and +tile-based interfaces to read these formats. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadEncodedStrip (3TIFF), +.IR TIFFReadRawStrip (3TIFF) diff --git a/man/TIFFReadTile.3tiff b/man/TIFFReadTile.3tiff new file mode 100644 index 00000000..23bfc0de --- /dev/null +++ b/man/TIFFReadTile.3tiff @@ -0,0 +1,81 @@ +.\" $Id: TIFFReadTile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFReadTile 3TIFF "December 16, 1991" "libtiff" +.SH NAME +TIFFReadTile \- read and decode a tile of data from an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFReadTile(TIFF *" tif ", tdata_t " buf ", uint32 " x ", uint32 " y ", uint32 " z ", tsample_t " sample ")" +.SH DESCRIPTION +Return the data for the tile +.I containing +the specified coordinates. The data placed in +.I buf +are returned decompressed and, typically, in the native byte- and +bit-ordering, but are otherwise packed (see further below). The buffer must be +large enough to hold an entire tile of data. Applications should call the +routine +.IR TIFFTileSize +to find out the size (in bytes) of a tile buffer. The +.I x +and +.I y +parameters are always used by +.IR TIFFReadTile . +The +.I z +parameter is used if the image is deeper than 1 slice (\c +.IR ImageDepth >1). +The +.I sample +parameter is used only if data are organized in separate planes (\c +.IR PlanarConfiguration =2). +.SH NOTES +The library attempts to hide bit- and byte-ordering differences between the +image and the native machine by converting data to the native machine order. +Bit reversal is done if the +.I FillOrder +tag is opposite to the native machine bit order. 16- and 32-bit samples are +automatically byte-swapped if the file was written with a byte order opposite +to the native machine byte order, +.SH "RETURN VALUES" +.IR TIFFReadTile +returns \-1 if it detects an error; otherwise the number of bytes in the +decoded tile is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFCheckTile (3TIFF), +.IR TIFFComputeTile (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadEncodedTile (3TIFF), +.IR TIFFReadRawTile (3TIFF) diff --git a/man/TIFFSetDirectory.3tiff b/man/TIFFSetDirectory.3tiff new file mode 100644 index 00000000..363147e0 --- /dev/null +++ b/man/TIFFSetDirectory.3tiff @@ -0,0 +1,76 @@ +.\" $Id: TIFFSetDirectory.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFSetDirectory 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFSetDirectory, TIFFSetSubDirectory \- set the current directory for an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFSetDirectory(TIFF *" tif ", tdir_t " dirnum ")" +.br +.BI "int TIFFSetSubDirectory(TIFF *" tif ", uint32 " diroff ")" +.SH DESCRIPTION +.I TIFFSetDirectory +changes the current directory and reads its contents with +.IR TIFFReadDirectory . +The parameter +.I dirnum +specifies the subfile/directory as an integer number, with the first directory +numbered zero. +.PP +.I TIFFSetSubDirectory +acts like +.IR TIFFSetDirectory , +except the directory is specified as a file offset instead of an index; this +is required for accessing subdirectories linked through a +.I SubIFD +tag. +.SH "RETURN VALUES" +On successful return 1 is returned. Otherwise, 0 is returned if +.I dirnum +or +.I diroff +specifies a non-existent directory, or if an error was encountered while +reading the directory's contents. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "%s: Error fetching directory count" . +An error was encountered while reading the ``directory count'' field. +.PP +.BR "%s: Error fetching directory link" . +An error was encountered while reading the ``link value'' that points to the +next directory in a file. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFCurrentDirectory (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadDirectory (3TIFF), +.IR TIFFWriteDirectory (3TIFF) diff --git a/man/TIFFSetField.3tiff b/man/TIFFSetField.3tiff new file mode 100644 index 00000000..98197add --- /dev/null +++ b/man/TIFFSetField.3tiff @@ -0,0 +1,212 @@ +.\" $Id: TIFFSetField.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFSetField 3TIFF "October 29, 2004" "libtiff" +.SH NAME +TIFFSetField, TIFFVSetField \- set the value(s) of a tag in a +.SM TIFF +file open for writing +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFSetField(TIFF *" tif ", ttag_t " tag ", " ... ")" +.sp +.B "#include <stdarg.h>" +.sp +.BI "int TIFFVSetField(TIFF *" tif ", ttag_t " tag ", va_list " ap ")" +.SH DESCRIPTION +.IR TIFFSetField +sets the value of a field +or pseudo-tag in the current directory associated with +the open +.SM TIFF +file +.IR tif . +(A +.I pseudo-tag +is a parameter that is used to control the operation of the +.SM 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 +.IR TIFFOpen (3TIFF); +pseudo-tags can be set whether the file was opened for reading +or writing. +The field is identified by +.IR tag , +one of the values defined in the include file +.B tiff.h +(see also the table below). +The actual value is specified using a variable argument list, +as prescribed by the +.IR stdarg (3) +interface (\c +or, on some machines, the +.IR varargs (3) +interface.) +.PP +.IR TIFFVSetField +is functionally equivalent to +.IR TIFFSetField +except that it takes a pointer to a variable +argument list. +.I TIFFVSetField +is useful for writing routines that are layered +on top of the functionality provided by +.IR TIFFSetField . +.PP +The tags understood by +.IR libtiff , +the number of parameter values, and the +expected types for the parameter values are shown below. +The data types are: +.I char* +is null-terminated string and corresponds to the +.SM ASCII +data type; +.I uint16 +is an unsigned 16-bit value; +.I uint32 +is an unsigned 32-bit value; +.I uint16* +is an array of unsigned 16-bit values. +.I void* +is an array of data values of unspecified type. + +Consult the +.SM TIFF +specification for information on the meaning of each tag. +.PP +.nf +.ta \w'TIFFTAG_CONSECUTIVEBADFAXLINES'u+2n +\w'Count'u+2n +\w'TIFFFaxFillFunc \(dg'u+2n +\fITag Name\fP \fICount\fP \fITypes\fP \fINotes\fP +.sp 5p +TIFFTAG_ARTIST 1 char* +TIFFTAG_BADFAXLINES 1 uint32 +TIFFTAG_BITSPERSAMPLE 1 uint16 \(dg +TIFFTAG_CLEANFAXDATA 1 uint16 +TIFFTAG_COLORMAP 3 uint16* 1<<BitsPerSample arrays +TIFFTAG_COMPRESSION 1 uint16 \(dg +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* \(dg count & types array +TIFFTAG_FAXMODE 1 int \(dg G3/G4 compression pseudo-tag +TIFFTAG_FAXFILLFUNC 1 TIFFFaxFillFunc G3/G4 compression pseudo-tag +TIFFTAG_FILLORDER 1 uint16 \(dg +TIFFTAG_GROUP3OPTIONS 1 uint32 \(dg +TIFFTAG_GROUP4OPTIONS 1 uint32 \(dg +TIFFTAG_HALFTONEHINTS 2 uint16 +TIFFTAG_HOSTCOMPUTER 1 char* +TIFFTAG_IMAGEDESCRIPTION 1 char* +TIFFTAG_IMAGEDEPTH 1 uint32 \(dg +TIFFTAG_IMAGELENGTH 1 uint32 +TIFFTAG_IMAGEWIDTH 1 uint32 \(dg +TIFFTAG_INKNAMES 1 char* +TIFFTAG_INKSET 1 uint16 \(dg +TIFFTAG_JPEGTABLES 2 uint32*,void* \(dg count & tables +TIFFTAG_JPEGQUALITY 1 int JPEG pseudo-tag +TIFFTAG_JPEGCOLORMODE 1 int \(dg JPEG pseudo-tag +TIFFTAG_JPEGTABLESMODE 1 int \(dg JPEG pseudo-tag +TIFFTAG_MAKE 1 char* +TIFFTAG_MATTEING 1 uint16 \(dg +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_PLANARCONFIG 1 uint16 \(dg +TIFFTAG_PREDICTOR 1 uint16 \(dg +TIFFTAG_PRIMARYCHROMATICITIES 1 float* 6-entry array +TIFFTAG_REFERENCEBLACKWHITE 1 float* \(dg 2*SamplesPerPixel array +TIFFTAG_RESOLUTIONUNIT 1 uint16 +TIFFTAG_ROWSPERSTRIP 1 uint32 \(dg must be > 0 +TIFFTAG_SAMPLEFORMAT 1 uint16 \(dg +TIFFTAG_SAMPLESPERPIXEL 1 uint16 \(dg value must be <= 4 +TIFFTAG_SMAXSAMPLEVALUE 1 double +TIFFTAG_SMINSAMPLEVALUE 1 double +TIFFTAG_SOFTWARE 1 char* +TIFFTAG_STONITS 1 double \(dg +TIFFTAG_SUBFILETYPE 1 uint32 +TIFFTAG_SUBIFD 2 uint16,uint32* count & offsets array +TIFFTAG_TARGETPRINTER 1 char* +TIFFTAG_THRESHHOLDING 1 uint16 +TIFFTAG_TILEDEPTH 1 uint32 \(dg +TIFFTAG_TILELENGTH 1 uint32 \(dg must be a multiple of 8 +TIFFTAG_TILEWIDTH 1 uint32 \(dg must be a multiple of 8 +TIFFTAG_TRANSFERFUNCTION 1 or 3\(dd uint16* 1<<BitsPerSample entry arrays +TIFFTAG_XPOSITION 1 float +TIFFTAG_XRESOLUTION 1 float +TIFFTAG_WHITEPOINT 1 float* 2-entry array +TIFFTAG_YCBCRCOEFFICIENTS 1 float* \(dg 3-entry array +TIFFTAG_YCBCRPOSITIONING 1 uint16 \(dg +TIFFTAG_YCBCRSAMPLING 2 uint16 \(dg +TIFFTAG_YPOSITION 1 float +TIFFTAG_YRESOLUTION 1 float +TIFFTAG_PHOTOSHOP ? uint32,void* count, data +TIFFTAG_ICCPROFILE 2 uint32,void* count, profile data* +.fi +.sp 5p +\(dg Tag may not have its values changed once data is written. +.br +.fi +\(dd +If +.I SamplesPerPixel +is one, then a single array is passed; otherwise three arrays should be +passed. +.fi +* The contents of this field are quite complex. See +.IR "The ICC Profile Format Specification" , +Annex B.3 "Embedding ICC Profiles in TIFF Files" +(available at http://www.color.org) for an explanation. +.br +.SH "RETURN VALUES" +1 is returned if the operation was successful. +Otherwise, 0 is returned if an error was detected. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +\fB%s: Cannot modify tag "%s" while writing\fP. +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. +.PP +\fB%d: Bad value for "%s"\fP. +An invalid value was supplied for the named tag. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFGetField (3TIFF), +.IR TIFFSetDirectory (3TIFF), +.IR TIFFWriteDirectory (3TIFF), +.IR TIFFReadDirectory (3TIFF) diff --git a/man/TIFFWarning.3tiff b/man/TIFFWarning.3tiff new file mode 100644 index 00000000..d33884e3 --- /dev/null +++ b/man/TIFFWarning.3tiff @@ -0,0 +1,67 @@ +.\" $Id: TIFFWarning.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWarning 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFWarning, TIFFSetWarningHandler \- library warning interface +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "void TIFFWarning(const char *" module ", const char *" fmt ", " ... ")" +.sp +.B "#include <stdargh.h>" +.sp +.BI "typedef void (*TIFFWarningHandler)(const char *" module ", const char *" fmt ", va_list " ap ");" +.sp +.BI "TIFFWarningHandler TIFFSetWarningHandler(TIFFWarningHandler " handler ");" +.SH DESCRIPTION +.I TIFFWarning +invokes the library-wide warning handler function to (normally) write a +warning message to the +.BR stderr . +The +.I fmt +parameter is a +.IR printf (3S) +format string, and any number arguments can be supplied. The +.I module +parameter is interpreted as a string that, if non-zero, should be printed +before the message; it typically is used to identify the software module in +which a warning is detected. +.PP +Applications that desire to capture control in the event of a warning should +use +.IR TIFFSetWarningHandler +to override the default warning handler. +A +.SM NULL +(0) warning handler function may be installed to suppress error messages. +.SH "RETURN VALUES" +.IR TIFFSetWarningHandler +returns a reference to the previous error handling function. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFError (3TIFF), +.IR printf (3) diff --git a/man/TIFFWriteDirectory.3tiff b/man/TIFFWriteDirectory.3tiff new file mode 100644 index 00000000..61d05f93 --- /dev/null +++ b/man/TIFFWriteDirectory.3tiff @@ -0,0 +1,135 @@ +.\" $Id: TIFFWriteDirectory.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWriteDirectory 3TIFF "September 26, 2001" "libtiff" +.SH NAME +TIFFWriteDirectory, TIFFRewriteDirectory, TIFFCheckpointDirectory \- write the +current directory in an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFWriteDirectory(TIFF *" tif ")" +.br +.BI "int TIFFRewriteDirectory(TIFF *" tif ")" +.br +.BI "int TIFFCheckpointDirectory(TIFF *" tif ")" +.SH DESCRIPTION +.IR TIFFWriteDirectory +will write the contents of the current directory to the file and setup to +create a new subfile in the same file. Applications only need to call +.IR TIFFWriteDirectory +when writing multiple subfiles to a single +.SM TIFF +file. +.IR TIFFWriteDirectory +is automatically called by +.IR TIFFClose +and +.IR TIFFFlush +to write a modified directory if the file is open for writing. +.PP +The +.IR TIFFRewriteDirectory +function operates similarly to +.IR TIFFWriteDirectory, +but can be called with directories previously read or written that already +have an established location in the file. It will rewrite the directory, +but instead of place it at it's old location (as +.IR TIFFWriteDirectory +would) it will place them at the end of the file, correcting the pointer from +the preceeding directory or file header to point to it's new location. This +is particularly important in cases where the size of the directory and +pointed to data has grown, so it won't fit in the space available at the +old location. +.PP +The +.IR TIFFCheckpointDirectory +writes the current state of the tiff directory into the file to make what +is currently in the file readable. Unlike +.IR TIFFWriteDirectory, +.IR TIFFCheckpointDirectory +does not free up the directory data structures in memory, so they can be +updated (as strips/tiles are written) and written again. Reading such +a partial file you will at worst get a tiff read error for the first +strip/tile encountered that is incomplete, but you will at least get +all the valid data in the file before that. When the file is complete, +just use +.IR TIFFWriteDirectory +as usual to finish it off cleanly. +.SH "RETURN VALUES" +1 is returned when the contents are successfully written to the file. +Otherwise, 0 is returned if an error was encountered when writing +the directory contents. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "Error post-encoding before directory write" . +Before writing the contents of the current directory, any pending data are +flushed. This message indicates that an error occurred while doing this. +.PP +.BR "Error flushing data before directory write" . +Before writing the contents of the current directory, any pending data are +flushed. This message indicates that an error occurred while doing this. +.PP +.BR "Cannot write directory, out of space" . +There was not enough space to allocate a temporary area for the directory that +was to be written. +.PP +.BR "Error writing directory count" . +A write error occurred when writing the count of fields in the directory. +.PP +.BR "Error writing directory contents" . +A write error occurred when writing the directory fields. +.PP +.BR "Error writing directory link" . +A write error occurred when writing the link to the next directory. +.PP +\fBError writing data for field "%s"\fP. +A write error occurred when writing indirect data for the specified field. +.PP +.BR "Error writing TIFF header" . +A write error occurred when re-writing header at the front of the file. +.PP +.BR "Error fetching directory count" . +A read error occurred when fetching the directory count field for +a previous directory. +This can occur when setting up a link to the directory that is being +written. +.PP +.BR "Error fetching directory link" . +A read error occurred when fetching the directory link field for +a previous directory. +This can occur when setting up a link to the directory that is being +written. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFError (3TIFF), +.IR TIFFReadDirectory (3TIFF), +.IR TIFFSetDirectory (3TIFF) diff --git a/man/TIFFWriteEncodedStrip.3tiff b/man/TIFFWriteEncodedStrip.3tiff new file mode 100644 index 00000000..8c1b33b5 --- /dev/null +++ b/man/TIFFWriteEncodedStrip.3tiff @@ -0,0 +1,99 @@ +.\" $Id: TIFFWriteEncodedStrip.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWriteEncodedStrip 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFWritedEncodedStrip \- compress and write a strip of data to an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFWriteEncodedStrip(TIFF *" tif ", tstrip_t " strip ", tdata_t " buf ", tsize_t " size ")" +.SH DESCRIPTION +Compress +.I size +bytes of raw data from +.I buf +and write the result to the specified strip; replacing any previously written +data. Note that the value of +.I strip +is a ``raw strip number.'' That is, the caller must take into account whether +or not the data are organized in separate planes (\c +.IR PlanarConfiguration =2). +.SH NOTES +The library writes encoded data using the native machine byte order. Correctly +implemented +.SM TIFF +readers are expected to do any necessary byte-swapping to correctly process +image data with BitsPerSample greater than 8. +.PP +The strip number must be valid according to the current settings of the +.I ImageLength +and +.I RowsPerStrip +tags. +An image may be dynamically grown by increasing the value of +.I ImageLength +prior to each call to +.IR TIFFWriteEncodedStrip . +.SH "RETURN VALUES" +\-1 is returned if an error was encountered. Otherwise, the value of +.IR size +is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +\fB%s: File not open for writing\fP. The file was opened for reading, not +writing. +.PP +\fBCan not write scanlines to a tiled image\fP. The image is assumed to be +organized in tiles because the +.I TileWidth +and +.I TileLength +tags have been set with +.IR TIFFSetField (3TIFF). +.PP +\fB%s: Must set "ImageWidth" before writing data\fP. +The image's width has not be set before the first write. See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: Must set "PlanarConfiguration" before writing data\fP. +The organization of data has not be defined before the first write. See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: No space for strip arrays"\fP. +There was not enough space for the arrays that hold strip offsets and byte +counts. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFWriteScanline (3TIFF), +.IR TIFFWriteRawStrip (3TIFF) diff --git a/man/TIFFWriteEncodedTile.3tiff b/man/TIFFWriteEncodedTile.3tiff new file mode 100644 index 00000000..0041b2d4 --- /dev/null +++ b/man/TIFFWriteEncodedTile.3tiff @@ -0,0 +1,93 @@ +.\" $Id: TIFFWriteEncodedTile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWriteEncodedTile 3TIFF "December 16, 1991" "libtiff" +.SH NAME +TIFFWritedEncodedTile \- compress and write a tile of data to an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFWriteEncodedTile(TIFF *" tif ", ttile_t " tile ", tdata_t " buf ", tsize_t " size ")" +.SH DESCRIPTION +Compress +.I size +bytes of raw data from +.I buf +and +.B append +the result to the end of the specified tile. Note that the value of +.I tile +is a ``raw tile number.'' That is, the caller must take into account whether +or not the data are organized in separate places (\c +.IR PlanarConfiguration =2). +.IR TIFFComputeTile +automatically does this when converting an (x,y,z,sample) coordinate quadruple +to a tile number. +.SH NOTES +The library writes encoded data using the native machine byte order. Correctly +implemented +.SM TIFF +readers are expected to do any necessary byte-swapping to correctly process +image data with BitsPerSample greater than 8. +.SH "RETURN VALUES" +\-1 is returned if an error was encountered. Otherwise, the value of +.IR size +is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +\fB%s: File not open for writing\fP. +The file was opened for reading, not writing. +.PP +\fBCan not write tiles to a stripped image\fP. +The image is assumed to be organized in strips because neither of the +.I TileWidth +or +.I TileLength +tags have been set with +.IR TIFFSetField (3TIFF). +.PP +\fB%s: Must set "ImageWidth" before writing data\fP. The image's width has not +be set before the first write. See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: Must set "PlanarConfiguration" before writing data\fP. The organization +of data has not be defined before the first write. See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: No space for tile arrays"\fP. +There was not enough space for the arrays that hold tile offsets and byte +counts. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFWriteTile (3TIFF), +.IR TIFFWriteRawTile (3TIFF) diff --git a/man/TIFFWriteRawStrip.3tiff b/man/TIFFWriteRawStrip.3tiff new file mode 100644 index 00000000..a3d7f0c1 --- /dev/null +++ b/man/TIFFWriteRawStrip.3tiff @@ -0,0 +1,93 @@ +.\" $Id: TIFFWriteRawStrip.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWriteRawstrip 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFWriteRawStrip \- write a strip of raw data to an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFWriteRawStrip(TIFF *" tif ", tstrip_t " strip ", tdata_t " buf ", tsize_t " size ")" +.SH DESCRIPTION +Append +.I size +bytes of raw data to the specified strip. +.SH NOTES +The strip number must be valid according to the current settings of the +.I ImageLength +and +.I RowsPerStrip +tags. +An image may be dynamically grown by increasing the value of +.I ImageLength +prior to each call to +.IR TIFFWriteRawStrip . +.SH "RETURN VALUES" +\-1 is returned if an error occurred. +Otherwise, the value of +.IR size +is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +\fB%s: File not open for writing\fP. +The file was opened for reading, not writing. +.PP +\fBCan not write scanlines to a tiled image\fP. The image is assumed to be +organized in tiles because the +.I TileWidth +and +.I TileLength +tags have been set with +.IR TIFFSetField (3TIFF). +.PP +\fB%s: Must set "ImageWidth" before writing data\fP. +The image's width has not be set before the first write. +See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: Must set "PlanarConfiguration" before writing data\fP. +The organization of data has not be defined before the first write. +See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: No space for strip arrays"\fP. +There was not enough space for the arrays that hold strip +offsets and byte counts. +.PP +\fB%s: Strip %d out of range, max %d\fP. +The specified strip is not a valid strip according to the +currently specified image dimensions. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFWriteEncodedStrip (3TIFF), +.IR TIFFWriteScanline (3TIFF) diff --git a/man/TIFFWriteRawTile.3tiff b/man/TIFFWriteRawTile.3tiff new file mode 100644 index 00000000..2ff03fdb --- /dev/null +++ b/man/TIFFWriteRawTile.3tiff @@ -0,0 +1,81 @@ +.\" $Id: TIFFWriteRawTile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWriteRawtile 3TIFF "December 16, 1991" "libtiff" +.SH NAME +TIFFWriteRawTile \- write a tile of raw data to an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFWriteRawTile(TIFF *" tif ", ttile_t " tile ", tdata_t " buf ", tsize_t " size ")" +.SH DESCRIPTION +Append +.I size +bytes of raw data to the specified tile. +.SH "RETURN VALUES" +\-1 is returned if an error occurred. Otherwise, the value of +.IR size +is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +\fB%s: File not open for writing\fP. +The file was opened for reading, not writing. +.PP +\fBCan not write tiles to a stripped image\fP. +The image is assumed to be organized in strips because neither of the +.I TileWidth +or +.I TileLength +tags have been set with +.IR TIFFSetField (3TIFF). +.PP +\fB%s: Must set "ImageWidth" before writing data\fP. +The image's width has not be set before the first write. +See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: Must set "PlanarConfiguration" before writing data\fP. The organization +of data has not be defined before the first write. See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: No space for tile arrays"\fP. +There was not enough space for the arrays that hold tile offsets and byte +counts. +.PP +\fB%s: Specified tile %d out of range, max %d\fP. +The specified tile is not valid according to the currently specified image +dimensions. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFWriteEncodedTile (3TIFF), +.IR TIFFWriteScanline (3TIFF) diff --git a/man/TIFFWriteScanline.3tiff b/man/TIFFWriteScanline.3tiff new file mode 100644 index 00000000..036ae842 --- /dev/null +++ b/man/TIFFWriteScanline.3tiff @@ -0,0 +1,151 @@ +.\" $Id: TIFFWriteScanline.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWriteScanline 3TIFF "December 16, 1991" "libtiff" +.SH NAME +TIFFWriteScanline \- write a scanline to an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFWriteScanline(TIFF *" tif ", tdata_t " buf ", uint32 " row ", tsample_t " sample ")" +.SH DESCRIPTION +Write data to a file at the specified row. The +.I sample +parameter is used only if data are organized in separate planes (\c +.IR PlanarConfiguration =2). +The data are assumed to be uncompressed and in the native bit- and byte-order +of the host machine. The data written to the file is compressed according to +the compression scheme of the current +.SM TIFF +directory (see further below). If the current scanline is past the end of the +current subfile, the +.I ImageLength +field is automatically increased to include the scanline (except +for +.IR PlanarConfiguration =2, +where the +.I ImageLength +cannot be changed once the first data are written). If the +.I ImageLength +is increased, the +.I StripOffsets +and +.I StripByteCounts +fields are similarly enlarged to reflect data written past the previous end of +image. +.SH NOTES +The library writes encoded data using the native machine byte order. Correctly +implemented +.SM TIFF +readers are expected to do any necessary byte-swapping to correctly process +image data with BitsPerSample greater than 8. The library attempts to hide +bit-ordering differences between the image and the native machine by +converting data from the native machine order. +.PP +In C++ the +.I sample +parameter defaults to 0. +.PP +Once data are written to a file for the current directory, the values of +certain tags may not be altered; see +.IR TIFFSetField (3TIFF) +for more information. +.PP +It is not possible to write scanlines to a file that uses a tiled +organization. The routine +.IR TIFFIsTiled +can be used to determine if the file is organized as tiles or strips. +.SH "RETURN VALUES" +.IR TIFFWriteScanline +returns \-1 if it immediately detects an error and 1 for a successful write. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.PP +.BR "%s: File not open for writing . +The file was opened for reading, not writing. +.PP +.BR "Can not write scanlines to a tiled image" . +An attempt was made to write a scanline to a tiled image. The image is assumed +to be organized in tiles because the +.I TileWidth +and +.I TileLength +tags have been set with +.IR TIFFSetField (3TIFF). +.PP +.BR "Compression algorithm does not support random access" . +Data was written in a non-sequential order to a file that uses a compression +algorithm and that has +.I RowsPerStrip +greater than one. That is, data in the image is to be stored in a compressed +form, and with multiple rows packed into a strip. In this case, the library +does not support random access to the data. The data should either be written +as entire strips, sequentially by rows, or the value of +.I RowsPerStrip +should be set to one. +.PP +\fB%s: Must set "ImageWidth" before writing data\fP. +The image's width has not be set before the first write. +See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fB%s: Must set "PlanarConfiguration" before writing data\fP. +The organization of data has not be defined before the first write. +See +.IR TIFFSetField (3TIFF) +for information on how to do this. +.PP +\fBCan not change "ImageLength" when using separate planes\fP. Separate image +planes are being used (\c +.IR PlanarConfiguration =2), +but the number of rows has not been specified before the first write. The +library supports the dynamic growth of an image only when data are organized +in a contiguous manner (\c +.IR PlanarConfiguration =1). +.PP +.BR "%d: Sample out of range, max %d" . +The +.I sample +parameter was greater than the value of the SamplesPerPixel tag. +.PP +.BR "%s: No space for strip arrays . +There was not enough space for the arrays that hold strip offsets and byte +counts. +.SH BUGS +Writing subsampled YCbCR data does not work correctly because, for +.IR PlanarConfiguration =2 +the size of a scanline is not calculated on a per-sample basis, and for +.IR PlanarConfiguration =1 +the library does not pack the block-interleaved samples. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFWriteEncodedStrip (3TIFF), +.IR TIFFWriteRawStrip (3TIFF) diff --git a/man/TIFFWriteTile.3tiff b/man/TIFFWriteTile.3tiff new file mode 100644 index 00000000..f4a0d91b --- /dev/null +++ b/man/TIFFWriteTile.3tiff @@ -0,0 +1,74 @@ +.\" $Id: TIFFWriteTile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFWriteTile 3TIFF "November 29, 1999" "libtiff" +.SH NAME +TIFFWriteTile \- encode and write a tile of data to an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFWriteTile(TIFF *" tif ", tdata_t " buf ", uint32 " x ", uint32 " y ", uint32 " z ", tsample_t " sample ")" +.SH DESCRIPTION +Write the data for the tile +.I containing +the specified coordinates. The data in +.I buf +are is (potentially) compressed, and written to the indicated file, normally +being appended to the end of the file. The buffer must be contain an entire +tile of data. Applications should call the routine +.IR TIFFTileSize +to find out the size (in bytes) of a tile buffer. The +.I x +and +.I y +parameters are always used by +.IR TIFFWriteTile . +The +.I z +parameter is used if the image is deeper than 1 slice (\c +.IR ImageDepth >1). +The +.I sample +parameter is used only if data are organized in separate planes (\c +.IR PlanarConfiguration =2). +.SH "RETURN VALUES" +.IR TIFFWriteTile +returns \-1 if it detects an error; otherwise the number of bytes in the tile +is returned. +.SH DIAGNOSTICS +All error messages are directed to the +.IR TIFFError (3TIFF) +routine. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFCheckTile (3TIFF), +.IR TIFFComputeTile (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadTile (3TIFF), +.IR TIFFWriteScanline (3TIFF), +.IR TIFFWriteEncodedTile (3TIFF), +.IR TIFFWriteRawTile (3TIFF) diff --git a/man/TIFFbuffer.3tiff b/man/TIFFbuffer.3tiff new file mode 100644 index 00000000..08bd9e26 --- /dev/null +++ b/man/TIFFbuffer.3tiff @@ -0,0 +1,74 @@ +.\" $Id: TIFFbuffer.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1995 Sam Leffler +.\" Copyright (c) 1995 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFBUFFER 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFReadBufferSetup, TIFFWriteBufferSetup \- I/O buffering control routines +.SH SYNOPSIS +.nf +.B "#include <tiffio.h>" +.sp +.BI "int TIFFReadBufferSetup(TIFF *" tif ", tdata_t " buffer ", tsize_t " size ");" +.BI "int TIFFWriteBufferSetup(TIFF *" tif ", tdata_t " buffer ", tsize_t " size ");" +.fi +.SH DESCRIPTION +The following routines are provided for client-control of the I/O buffers used +by the library. Applications need never use these routines; they are provided +only for ``intelligent clients'' that wish to optimize memory usage and/or +eliminate potential copy operations that can occur when working with images +that have data stored without compression. +.PP +.I TIFFReadBufferSetup +sets up the data buffer used to read raw (encoded) data from a file. If the +specified pointer is +.SM NULL +(zero), then a buffer of the appropriate size is allocated. Otherwise the +caller must guarantee that the buffer is large enough to hold any individual +strip of raw data. +.I TIFFReadBufferSetup +returns a non-zero value if the setup was successful and zero otherwise. +.PP +.I TIFFWriteBufferSetup +sets up the data buffer used to write raw (encoded) data to a file. If the +specified +.I size +is \-1 then the buffer size is selected to hold a complete tile or strip, or +at least 8 kilobytes, whichever is greater. If the specified +.I buffer +is +.SM NULL +(zero), then a buffer of the appropriate size is dynamically allocated. +.I TIFFWriteBufferSetup +returns a non-zero value if the setup was successful and zero otherwise. +.SH DIAGNOSTICS +.BR "%s: No space for data buffer at scanline %ld" . +.I TIFFReadBufferSetup +was unable to dynamically allocate space for a data buffer. +.PP +.BR "%s: No space for output buffer" . +.I TIFFWriteBufferSetup +was unable to dynamically allocate space for a data buffer. +.SH "SEE ALSO" +.IR libtiff (3TIFF) diff --git a/man/TIFFcodec.3tiff b/man/TIFFcodec.3tiff new file mode 100644 index 00000000..7f718a1e --- /dev/null +++ b/man/TIFFcodec.3tiff @@ -0,0 +1,79 @@ +.\" $Id: TIFFcodec.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1995 Sam Leffler +.\" Copyright (c) 1995 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH CODEC 3TIFF "October 29, 2004" "libtiff" +.SH NAME +TIFFFindCODEC, TIFFRegisterCODEC, TIFFUnRegisterCODEC, TIFFIsCODECConfigured +\- codec-related utility routines +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "const TIFFCodec* TIFFFindCODEC(uint16 " scheme ");" +.br +.BI "TIFFCodec* TIFFRegisterCODEC(uint16 " scheme ", const char *" method ", TIFFInitMethod " init ");" +.br +.BI "void TIFFUnRegisterCODEC(TIFFCodec *" codec ");" +.br +.BI "int TIFFIsCODECConfigured(uint16 " scheme ");" +.SH DESCRIPTION +.I libtiff +supports a variety of compression schemes implemented by software +.IR codecs . +Each codec adheres to a modular interface that provides for +the decoding and encoding of image data; as well as some other +methods for initialization, setup, cleanup, and the control +of default strip and tile sizes. +Codecs are identified by the associated value of the +.SM TIFF +.I Compression +tag; e.g. 5 for +.SM LZW +compression. +.PP +The +.I TIFFRegisterCODEC +routine can be used to +augment or override the set of codecs available to an application. +If the specified +.I scheme +already has a registered codec then it is +.I overridden +and any images with data encoded with this +compression scheme will be decoded using the supplied coded. +.PP +.I TIFFIsCODECConfigured +returns 1 if the codec is configured and working. Otherwise 0 will be returned. +.SH DIAGNOSTICS +.BR "No space to register compression scheme %s" . +.I TIFFRegisterCODEC +was unable to allocate memory for the data structures needed +to register a codec. +.PP +.BR "Cannot remove compression scheme %s; not registered" . +.I TIFFUnRegisterCODEC +did not locate the specified codec in the table of registered +compression schemes. +.SH "SEE ALSO" +.IR libtiff (3TIFF) diff --git a/man/TIFFcolor.3tiff b/man/TIFFcolor.3tiff new file mode 100644 index 00000000..00802b5a --- /dev/null +++ b/man/TIFFcolor.3tiff @@ -0,0 +1,266 @@ +.\" $Id: TIFFcolor.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 2003, Andrey Kiselev <dron@remotesensing.org> +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH COLOR 3TIFF "December 21, 2003" "libtiff" +.SH NAME +TIFFYCbCrToRGBInit, TIFFYCbCrtoRGB, TIFFCIELabToRGBInit, TIFFCIELabToXYZ, +TIFFXYZToRGB \- color conversion routines. +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB *" ycbcr ", float *" luma ", float *"refBlackWhite" );" +.br +.BI "void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *" ycbcr ", uint32 " Y ", int32 " Cb ", int32 " Cr ", uint32 *" R ", uint32 *" G ", uint32 *" B " );" +.sp +.BI "int TIFFCIELabToRGBInit(TIFFCIELabToRGB *" cielab ", TIFFDisplay *" display ", float *" refWhite ");" +.br +.BI "void TIFFCIELabToXYZ(TIFFCIELabToRGB *" cielab ", uint32 " L ", int32 " a ", int32 " b ", float *" X ", float *" Y ", float *" Z ");" +.br +.BI "void TIFFXYZToRGB(TIFFCIELabToRGB *" cielab ", float " X ", float " Y ", float " Z" , uint32 *" R ", uint32 *" G ", uint32 *" B ");" +.SH DESCRIPTION +TIFF supports several color spaces for images stored in that format. There is +usually a problem of application to handle the data properly and convert +between different colorspaces for displaying and printing purposes. To +simplify this task libtiff implements several color conversion routines +itself. In particular, these routines used in +.B TIFFRGBAImage(3TIFF) +interface. +.PP +.B TIFFYCbCrToRGBInit() +used to initialize +.I YCbCr +to +.I RGB +conversion state. Allocating and freeing of the +.I ycbcr +structure belongs to programmer. +.I TIFFYCbCrToRGB +defined in +.B tiffio.h +as +.PP +.RS +.nf +typedef struct { /* YCbCr->RGB support */ + TIFFRGBValue* clamptab; /* range clamping table */ + int* Cr_r_tab; + int* Cb_b_tab; + int32* Cr_g_tab; + int32* Cb_g_tab; + int32* Y_tab; +} TIFFYCbCrToRGB; +.fi +.RE +.PP +.I luma +is a float array of three values representing proportions of the red, green +and blue in luminance, Y (see section 21 of the TIFF 6.0 specification, where +the YCbCr images discussed). +.I TIFFTAG_YCBCRCOEFFICIENTS +holds that values in TIFF file. +.I refBlackWhite +is a float array of 6 values which specifies a pair of headroom and footroom +image data values (codes) for each image component (see section 20 of the +TIFF 6.0 specification where the colorinmetry fields discussed). +.I TIFFTAG_REFERENCEBLACKWHITE +is responsible for storing these values in TIFF file. Following code snippet +should helps to understand the the technique: +.PP +.RS +.nf +float *luma, *refBlackWhite; +uint16 hs, vs; + +/* Initialize structures */ +ycbcr = (TIFFYCbCrToRGB*) + _TIFFmalloc(TIFFroundup(sizeof(TIFFYCbCrToRGB), sizeof(long)) + + 4*256*sizeof(TIFFRGBValue) + + 2*256*sizeof(int) + + 3*256*sizeof(int32)); +if (ycbcr == NULL) { + TIFFError("YCbCr->RGB", + "No space for YCbCr->RGB conversion state"); + exit(0); +} + +TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRCOEFFICIENTS, &luma); +TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE, &refBlackWhite); +if (TIFFYCbCrToRGBInit(ycbcr, luma, refBlackWhite) < 0) + exit(0); + +/* Start conversion */ +uint32 r, g, b; +uint32 Y; +int32 Cb, Cr; + +for each pixel in image + TIFFYCbCrtoRGB(img->ycbcr, Y, Cb, Cr, &r, &g, &b); + +/* Free state structure */ +_TIFFfree(ycbcr); +.fi +.RE +.PP + +.PP +.B TIFFCIELabToRGBInit() +initializes the +.I CIE L*a*b* 1976 +to +.I RGB +conversion state. +.B TIFFCIELabToRGB +defined as +.PP +.RS +.nf +#define CIELABTORGB_TABLE_RANGE 1500 + +typedef struct { /* CIE Lab 1976->RGB support */ + int range; /* Size of conversion table */ + float rstep, gstep, bstep; + float X0, Y0, Z0; /* Reference white point */ + TIFFDisplay display; + float Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr to r */ + float Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg to g */ + float Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb to b */ +} TIFFCIELabToRGB; +.fi +.RE +.PP +.I display +is a display device description, declared as +.PP +.RS +.nf +typedef struct { + float d_mat[3][3]; /* XYZ -> luminance matrix */ + float d_YCR; /* Light o/p for reference white */ + float d_YCG; + float d_YCB; + uint32 d_Vrwr; /* Pixel values for ref. white */ + uint32 d_Vrwg; + uint32 d_Vrwb; + float d_Y0R; /* Residual light for black pixel */ + float d_Y0G; + float d_Y0B; + float d_gammaR; /* Gamma values for the three guns */ + float d_gammaG; + float d_gammaB; +} TIFFDisplay; +.fi +.RE +.PP +For example, the one can use sRGB device, which has the following parameters: +.PP +.RS +.nf +TIFFDisplay display_sRGB = { + { /* XYZ -> luminance matrix */ + { 3.2410F, -1.5374F, -0.4986F }, + { -0.9692F, 1.8760F, 0.0416F }, + { 0.0556F, -0.2040F, 1.0570F } + }, + 100.0F, 100.0F, 100.0F, /* Light o/p for reference white */ + 255, 255, 255, /* Pixel values for ref. white */ + 1.0F, 1.0F, 1.0F, /* Residual light o/p for black pixel */ + 2.4F, 2.4F, 2.4F, /* Gamma values for the three guns */ +}; +.fi +.RE +.PP +.I refWhite +is a color temperature of the reference white. The +.I TIFFTAG_WHITEPOINT +contains the chromaticity of the white point of the image from where the +reference white can be calculated using following formulae: +.PP +.RS +refWhite_Y = 100.0 +.br +refWhite_X = whitePoint_x / whitePoint_y * refWhite_Y +.br +refWhite_Z = (1.0 - whitePoint_x - whitePoint_y) / whitePoint_y * refWhite_X +.br +.RE +.PP +The conversion itself performed in two steps: at the first one we will convert +.I CIE L*a*b* 1976 +to +.I CIE XYZ +using +.B TIFFCIELabToXYZ() +routine, and at the second step we will convert +.I CIE XYZ +to +.I RGB +using +.B TIFFXYZToRGB(). +Look at the code sample below: +.PP +.RS +.nf +float *whitePoint; +float refWhite[3]; + +/* Initialize structures */ +img->cielab = (TIFFCIELabToRGB *) + _TIFFmalloc(sizeof(TIFFCIELabToRGB)); +if (!cielab) { + TIFFError("CIE L*a*b*->RGB", + "No space for CIE L*a*b*->RGB conversion state."); + exit(0); +} + +TIFFGetFieldDefaulted(tif, TIFFTAG_WHITEPOINT, &whitePoint); +refWhite[1] = 100.0F; +refWhite[0] = whitePoint[0] / whitePoint[1] * refWhite[1]; +refWhite[2] = (1.0F - whitePoint[0] - whitePoint[1]) + / whitePoint[1] * refWhite[1]; +if (TIFFCIELabToRGBInit(cielab, &display_sRGB, refWhite) < 0) { + TIFFError("CIE L*a*b*->RGB", + "Failed to initialize CIE L*a*b*->RGB conversion state."); + _TIFFfree(cielab); + exit(0); +} + +/* Now we can start to convert */ +uint32 r, g, b; +uint32 L; +int32 a, b; +float X, Y, Z; + +for each pixel in image + TIFFCIELabToXYZ(cielab, L, a, b, &X, &Y, &Z); + TIFFXYZToRGB(cielab, X, Y, Z, &r, &g, &b); + +/* Don't forget to free the state structure */ +_TIFFfree(cielab); +.fi +.RE +.PP + +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFRGBAImage (3TIFF) diff --git a/man/TIFFmemory.3tiff b/man/TIFFmemory.3tiff new file mode 100644 index 00000000..db2466c3 --- /dev/null +++ b/man/TIFFmemory.3tiff @@ -0,0 +1,87 @@ +.\" $Id: TIFFmemory.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1995 Sam Leffler +.\" Copyright (c) 1995 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH MEMORY 3TIFF "October 15, 1995" "libtiff" +.SH NAME +_TIFFmalloc, \c +_TIFFrealloc, \c +_TIFFfree, \c +_TIFFmemset, \c +_TIFFmemcpy, \c +_TIFFmemcmp, \c +\- memory management-related functions for use with +.SM TIFF +files +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tdata_t _TIFFmalloc(tsize_t " size ");" +.br +.BI "tdata_t _TIFFrealloc(tdata_t " buffer ", tsize_t " size ");" +.br +.BI "void _TIFFfree(tdata_t " buffer ");" +.br +.BI "void _TIFFmemset(tdata_t " s ", int " c ", tsize_t " n ");" +.br +.BI "void _TIFFmemcpy(tdata_t " dest ", const tdata_t " src ", tsize_t " n ");" +.br +.BI "int _TIFFmemcmp(const tdata_t " s1 ", const tdata_t "s2 ", tsize_t " n ");" +.SH DESCRIPTION +These routines are provided for writing portable software that uses +.IR libtiff ; +they hide any memory-management related issues, such as dealing with segmented +architectures found on 16-bit machines. +.PP +.I _TIFFmalloc +and +.I _TIFFrealloc +are used to dynamically allocate and reallocate memory used by +.IR libtiff ; +such as memory passed into the I/O routines. Memory allocated through these +interfaces is released back to the system using the +.I _TIFFfree +routine. +.PP +Memory allocated through one of the above interfaces can be set to a known +value using +.IR _TIFFmemset , +copied to another memory location using +.IR _TIFFmemcpy , +or compared for equality using +.IR _TIFFmemcmp . +These routines conform to the equivalent +.SM ANSI +C routines: +.IR memset , +.IR memcpy , +and +.IR memcmp , +repsectively. +.SH DIAGNOSTICS +None. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR malloc (3), +.IR memory (3) diff --git a/man/TIFFquery.3tiff b/man/TIFFquery.3tiff new file mode 100644 index 00000000..8bddc889 --- /dev/null +++ b/man/TIFFquery.3tiff @@ -0,0 +1,142 @@ +.\" $Id: TIFFquery.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH QUERY 3TIFF "October 29, 2004" "libtiff" +.SH NAME +TIFFCurrentRow, +TIFFCurrentStrip, +TIFFCurrentTile, +TIFFCurrentDirectory, +TIFFLastDirectory, +TIFFFileno, +TIFFFileName, +TIFFGetMode, +TIFFIsTiled, +TIFFIsByteSwapped, +TIFFIsUpSampled, +TIFFIsMSB2LSB, +TIFFGetVersion +\- query routines +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "uint32 TIFFCurrentRow(TIFF* " tif ")" +.br +.BI "tstrip_t TIFFCurrentStrip(TIFF* " tif ")" +.br +.BI "ttile_t TIFFCurrentTile(TIFF* " tif ")" +.br +.BI "tdir_t TIFFCurrentDirectory(TIFF* " tif ")" +.br +.BI "int TIFFLastDirectory(TIFF* " tif ")" +.br +.BI "int TIFFFileno(TIFF* " tif ")" +.br +.BI "char* TIFFFileName(TIFF* " tif ")" +.br +.BI "int TIFFGetMode(TIFF* " tif ")" +.br +.BI "int TIFFIsTiled(TIFF* " tif ")" +.br +.BI "int TIFFIsByteSwapped(TIFF* " tif ")" +.br +.BI "int TIFFIsUpSampled(TIFF* " tif ")" +.br +.BI "int TIFFIsMSB2LSB(TIFF* " tif ")" +.br +.BI "const char* TIFFGetVersion(void)" +.SH DESCRIPTION +The following routines return status information about an open +.SM TIFF +file. +.PP +.IR TIFFCurrentDirectory +returns the index of the current directory (directories are numbered starting +at 0). This number is suitable for use with the +.IR TIFFSetDirectory +routine. +.PP +.IR TIFFLastDirectory +returns a non-zero value if the current directory is the last directory in the +file; otherwise zero is returned. +.PP +.IR TIFFCurrentRow , +.IR TIFFCurrentStrip , +and +.IR TIFFCurrentTile , +return the current row, strip, and tile, respectively, that is being read or +written. These values are updated each time a read or write is done. +.PP +.IR TIFFFileno +returns the underlying file descriptor used to access the +.SM TIFF +image in the filesystem. +.PP +.IR TIFFFileName +returns the pathname argument passed to +.IR TIFFOpen +or +.IR TIFFFdOpen . +.PP +.IR TIFFGetMode +returns the mode with which the underlying file was opened. On +.SM UNIX +systems, this is the value passed to the +.IR open (2) +system call. +.PP +.IR TIFFIsTiled +returns a non-zero value if the image data has a tiled organization. Zero is +returned if the image data is organized in strips. +.PP +.IR TIFFIsByteSwapped +returns a non-zero value if the image data was in a different byte-order than +the host machine. Zero is returned if the TIFF file and local host byte-orders +are the same. Note that TIFFReadTile(), TIFFReadStrip() and +TIFFReadScanline() functions already normally perform byte swapping to local +host order if needed. +.PP +.I TIFFIsUpSampled +returns a non-zero value if image data returned through the read interface +routines is being up-sampled. This can be useful to applications that want to +calculate I/O buffer sizes to reflect this usage (though the usual strip and +tile size routines already do this). +.PP +.I TIFFIsMSB2LSB +returns a non-zero value if the image data is being returned with bit 0 as the +most significant bit. +.PP +.IR TIFFGetVersion +returns an +.SM ASCII +string that has a version stamp for the +.SM TIFF +library software. +.SH DIAGNOSTICS +None. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFFdOpen (3TIFF) diff --git a/man/TIFFsize.3tiff b/man/TIFFsize.3tiff new file mode 100644 index 00000000..19349df5 --- /dev/null +++ b/man/TIFFsize.3tiff @@ -0,0 +1,56 @@ +.\" $Id: TIFFsize.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFSIZE 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFScanlineSize, TIFFRasterScanlineSize, +\- return the size of various items associated with an open +.SM TIFF +file +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "tsize_t TIFFRasterScanlineSize(TIFF *" tif ")" +.br +.BI "tsize_t TIFFScanlineSize(TIFF *" tif ")" +.SH DESCRIPTION +.I TIFFScanlineSize +returns the size in bytes of a row of data as it would be returned in a call +to +.IR TIFFReadScanline , +or as it would be expected in a call to +.IR TIFFWriteScanline . +.PP +.I TIFFRasterScanlineSize +returns the size in bytes of a complete decoded and packed raster scanline. +Note that this value may be different from the value returned by +.I TIFFScanlineSize +if data is stored as separate planes. +.SH DIAGNOSTICS +None. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFOpen (3TIFF), +.IR TIFFReadScanline (3TIFF) diff --git a/man/TIFFstrip.3tiff b/man/TIFFstrip.3tiff new file mode 100644 index 00000000..d7411da2 --- /dev/null +++ b/man/TIFFstrip.3tiff @@ -0,0 +1,96 @@ +.\" $Id: TIFFstrip.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1992-1997 Sam Leffler +.\" Copyright (c) 1992-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFSTRIP 3TIFF "October 15, 1995" "libtiff" +.SH NAME +TIFFDefaultStripSize, TIFFStripSize, TIFFVStripSize, TIFFRawStripSize, +TIFFComputeStrip, TIFFNumberOfStrips \- strip-related utility routines +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "uint32 TIFFDefaultStripSize(TIFF *" tif ", uint32 " estimate ")" +.br +.BI "tsize_t TIFFStripSize(TIFF *" tif ")" +.br +.BI "tsize_t TIFFVStripSize(TIFF *" tif ", uint32 " nrows ")" +.br +.BI "tsize_t TIFFRawStripSize(TIFF *" tif ", tstrip_t " strip ")" +.br +.BI "tstrip_t TIFFComputeStrip(TIFF *" tif ", uint32 " row ", tsample_t " sample ")" +.br +.BI "tstrip_t TIFFNumberOfStrips(TIFF *" tif ")" +.SH DESCRIPTION +.I TIFFDefaultStripSize +returns the number of rows for a reasonable-sized strip according to the +current settings of the +.IR ImageWidth , +.IR BitsPerSample , +.IR SamplesPerPixel , +tags and any compression-specific requirements. If the +.I estimate +parameter, if non-zero, then it is taken as an estimate of the desired strip +size and adjusted according to any compression-specific requirements. The +value returned by this function is typically used to define the +.I RowsPerStrip +tag. In lieu of any unusual requirements +.I TIFFDefaultStripSize +tries to create strips that have approximately +8 kilobytes of uncompressed data. +.PP +.IR TIFFStripSize +returns the equivalent size for a strip of data as it would be returned in a +call to +.IR TIFFReadEncodedStrip +or as it would be expected in a call to +.IR TIFFWriteEncodedStrip . +.PP +.I TIFFVStripSize +returns the number of bytes in a strip with +.I nrows +rows of data. +.PP +.I TIFFRawStripSize +returns the number of bytes in a raw strip (i.e. not decoded). +.PP +.IR TIFFComputeStrip +returns the strip that contains the specified coordinates. A valid strip is +always returned; out-of-range coordinate values are clamped to the bounds of +the image. The +.I row +parameter is always used in calculating a strip. The +.I sample +parameter is used only if data are organized in separate planes (\c +.IR PlanarConfiguration =2). +.PP +.IR TIFFNumberOfStrips +returns the number of strips in the image. +.SH DIAGNOSTICS +None. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFReadEncodedStrip (3TIFF), +.IR TIFFReadRawStrip (3TIFF), +.IR TIFFWriteEncodedStrip (3TIFF), +.IR TIFFWriteRawStrip (3TIFF) diff --git a/man/TIFFswab.3tiff b/man/TIFFswab.3tiff new file mode 100644 index 00000000..a5474d4c --- /dev/null +++ b/man/TIFFswab.3tiff @@ -0,0 +1,77 @@ +.\" $Id: TIFFswab.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH SWAB 3TIFF "November 04, 2004" "libtiff" +.SH NAME +TIFFGetBitRevTable, TIFFReverseBits, TIFFSwabShort, TIFFSwabLong, +TIFFSwabArrayOfShort, TIFFSwabArrayOfLong \- byte- and bit-swapping routines +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "const unsigned char* TIFFGetBitRevTable(int " reversed ")" +.br +.BI "void TIFFReverseBits(u_char *" data ", unsigned long " nbytes ")" +.br +.BI "void TIFFSwabShort(uint16 *" data ")" +.br +.BI "void TIFFSwabLong(uint32 *" data ")" +.br +.BI "void TIFFSwabArrayOfShort(uint16 *" data ", unsigned long " nshorts ")" +.br +.BI "void TIFFSwabArrayOfLong(uint32 *" data ", unsigned long " nlongs ")" +.SH DESCRIPTION +The following routines are used by the library to swap +16- and 32-bit data and to reverse the order of bits in bytes. +.PP +.IR TIFFSwabShort +and +.IR TIFFSwabLong +swap the bytes in a single 16-bit and 32-bit item, respectively. +.IR TIFFSwabArrayOfShort +and +.IR TIFFSwabArrayOfLong +swap the bytes in an array of 16-bit and 32-bit items, respectively. +.PP +.IR TIFFReverseBits +replaces each byte in +.I data +with the equivalent bit-reversed value. This operation is performed with a +lookup table, which is returned using the +.IR TIFFGetBitRevTable +function. +.I reversed +parameter specifies which table should be returned. Supply +.I 1 +if you want bit reversal table. Supply +.I 0 +to get the table that do not reverse bit values. It is a lookup table that can +be used as an +.IR "identity function" ; +i.e. +.IR "TIFFNoBitRevTable[n] == n" . +.SH DIAGNOSTICS +None. +.SH "SEE ALSO" +.IR libtiff (3TIFF), diff --git a/man/TIFFtile.3tiff b/man/TIFFtile.3tiff new file mode 100644 index 00000000..fede5cef --- /dev/null +++ b/man/TIFFtile.3tiff @@ -0,0 +1,128 @@ +.\" $Id: TIFFtile.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH TIFFTILE 3TIFF "February 14, 1992" "libtiff" +.SH NAME +TIFFTileSize, TIFFTileRowSize, TIFFVTileSize, TIFFDefaultTileSize, +TIFFComputeTile, TIFFCheckTile, TIFFNumberOfTiles \- tile-related utility +routines +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +.BI "void TIFFDefaultTileSize(TIFF *" tif ", uint32 *" tw ", uint32 *" th ")" +.br +.BI "tsize_t TIFFTileSize(TIFF *" tif ")" +.br +.BI "tsize_t TIFFTileRowSize(TIFF *" tif ")" +.br +.BI "tsize_t TIFFVTileSize(TIFF *" tif ", uint32 " nrows ")" +.br +.BI "ttile_t TIFFComputeTile(TIFF *" tif ", uint32 " x ", uint32 " y ", uint32 " z ", tsample_t " sample ")" +.br +.BI "int TIFFCheckTile(TIFF *" tif ", uint32 " x ", uint32 " y ", uint32 " z ", tsample_t " sample ")" +.br +.BI "ttile_t TIFFNumberOfTiles(TIFF *" tif ")" +.br +.SH DESCRIPTION +.I TIFFDefaultTileSize +returns the pixel width and height of a reasonable-sized tile; suitable for +setting up the +.I TileWidth +and +.I TileLength +tags. +If the +.I tw +and +.I th +values passed in are non-zero, then they are adjusted to reflect any +compression-specific requirements. The returned width and height are +constrained to be a multiple of 16 pixels to conform with the +.SM TIFF +specification. +.PP +.I TIFFTileSize +returns the equivalent size for a tile of data as it would be returned in a +call to +.I TIFFReadTile +or as it would be expected in a call to +.IR TIFFWriteTile . +.PP +.I TIFFVTileSize +returns the number of bytes in a row-aligned tile with +.I nrows +of data. +.PP +.I TIFFTileRowSize +returns the number of bytes of a row of data in a tile. +.PP +.IR TIFFComputeTile +returns the tile that contains the specified coordinates. A valid tile is +always returned; out-of-range coordinate values are clamped to the bounds of +the image. The +.I x +and +.I y +parameters are always used in calculating a tile. The +.I z +parameter is used if the image is deeper than 1 slice (\c +.IR ImageDepth >1). +The +.I sample +parameter is used only if data are organized in separate planes (\c +.IR PlanarConfiguration =2). +.PP +.IR TIFFCheckTile +returns a non-zero value if the supplied coordinates are within the bounds of +the image and zero otherwise. The +.I x +parameter is checked against the value of the +.I ImageWidth +tag. The +.I y +parameter is checked against the value of the +.I ImageLength +tag. The +.I z +parameter is checked against the value of the +.I ImageDepth +tag (if defined). The +.I sample +parameter is checked against the value of the +.I SamplesPerPixel +parameter if the data are organized in separate planes. +.PP +.IR TIFFNumberOfTiles +returns the number of tiles in the image. +.SH DIAGNOSTICS +None. +.SH "SEE ALSO" +.IR libtiff (3TIFF), +.IR TIFFReadEncodedTile (3TIFF), +.IR TIFFReadRawTile (3TIFF), +.IR TIFFReadTile (3TIFF), +.IR TIFFWriteEncodedTile (3TIFF), +.IR TIFFWriteRawTile (3TIFF), +.IR TIFFWriteTile (3TIFF) diff --git a/man/bmp2tiff.1 b/man/bmp2tiff.1 index 60a2a1a3..dc1a9e94 100644 --- a/man/bmp2tiff.1 +++ b/man/bmp2tiff.1 @@ -1,4 +1,4 @@ -.\" $Id: bmp2tiff.1,v 1.1 2004-10-15 07:49:39 dron Exp $ +.\" $Id: bmp2tiff.1,v 1.2 2004-11-11 14:39:16 dron Exp $ .\" .\" Copyright (c) 2004, Andrey Kiselev <dron@remotesensing.org> .\" @@ -74,4 +74,4 @@ is approximately 8 kilobytes. .IR raw2tiff (1), .IR ras2tiff (1), .IR sgi2tiff (1), -.IR libtiff (3) +.IR libtiff (3TIFF) diff --git a/man/libtiff.3tiff b/man/libtiff.3tiff new file mode 100644 index 00000000..e24900ec --- /dev/null +++ b/man/libtiff.3tiff @@ -0,0 +1,534 @@ +.\" $Id: libtiff.3tiff,v 1.1 2004-11-11 14:39:16 dron Exp $ +.\" +.\" Copyright (c) 1988-1997 Sam Leffler +.\" Copyright (c) 1991-1997 Silicon Graphics, Inc. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and +.\" its documentation for any purpose is hereby granted without fee, provided +.\" that (i) the above copyright notices and this permission notice appear in +.\" all copies of the software and related documentation, and (ii) the names of +.\" Sam Leffler and Silicon Graphics may not be used in any advertising or +.\" publicity relating to the software without the specific, prior written +.\" permission of Sam Leffler and Silicon Graphics. +.\" +.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +.\" OF THIS SOFTWARE. +.\" +.if n .po 0 +.TH INTRO 3TIFF "August 21, 1997" "libtiff" +.SH NAME +libtiff \- introduction to +.IR libtiff , +a library for reading and writing +.SM TIFF +files +.SH SYNOPSIS +.B "#include <tiffio.h>" +.sp +cc file.c +.B -ltiff +.SH DESCRIPTION +.I libtiff +is a library for reading and writing data files encoded with the +.I "Tag Image File" +format, Revision 6.0 (or revision 5.0 or revision 4.0). +This file format is suitable for archiving multi-color and +monochromatic image data. +.PP +The library supports several compression algorithms, as indicated +by the +.I Compression +field, including: +no compression (1), +.SM CCITT +1D Huffman compression (2), +.SM CCITT +Group 3 Facsimile compression (3), +.SM CCITT +Group 4 Facsimile compression (4), +Lempel-Ziv & Welch compression (5), +baseline JPEG compression (7), +word-aligned 1D Huffman compression (32771), +and +PackBits compression (32773). +In addition, several nonstandard compression algorithms are supported: +the 4-bit compression algorithm used +by the +.I ThunderScan +program (32809) (decompression only), +NeXT's 2-bit compression algorithm (32766) (decompression only), +an experimental LZ-style algorithm known as Deflate (32946), and +an experimental CIE LogLuv compression scheme designed for images +with high dynamic range (32845 for LogL and 32845 for LogLuv). +Directory information may be in either little- or big-endian byte +order\-byte swapping is automatically done by the library. +Data bit ordering may be either Most Significant Bit (\c +.SM MSB\c +) to Least Significant Bit (\c +.SM LSB\c +) or +.SM LSB +to +.SM MSB. +Finally, the library does not support files in which the +.IR BitsPerSample , +.IR Compression , +.IR MinSampleValue , +or +.IR MaxSampleValue +fields are defined differently on a per-sample basis +(in Rev. 6.0 the +.I Compression +tag is not defined on a per-sample basis, so this is immaterial). +.SH "DATA TYPES" +The library makes extensive use of C typedefs to promote portability. +Two sets of typedefs are used, one for communication with clients +of the library and one for internal data structures and parsing of the +.SM TIFF +format. +The following typedefs are exposed to users either through +function definitions or through parameters passed through the +varargs interfaces. +.in +.5i +.sp 5p +.ta +\w'typedef unsigned <\fIthing\fP> uint32; 'u +.nf +typedef unsigned short uint16; 16-bit unsigned integer +typedef unsigned <\fIthing\fP> uint32; 32-bit unsigned integer +.sp 5p +typedef unsigned int ttag_t; directory tag +typedef uint16 tdir_t; directory index +typedef uint16 tsample_t; sample number +typedef uint32 tstrip_t; strip number +typedef uint32 ttile_t; tile number +typedef int32 tsize_t; i/o size in bytes +typedef void* tdata_t; image data ref +typedef void* thandle_t; client data handle +typedef int32 toff_t; file offset +.fi +.sp 5p +.in -.5i +Note that +.IR tstrip_t , +.IR ttile_t , +and +.I tsize_t +are constrained to be no more than 32-bit quantities by +32-bit fields they are stored in in the +.SM TIFF +image. +Likewise +.I tsample_t +is limited by the 16-bit field used to store the +.I SamplesPerPixel +tag. +.I tdir_t +constrains the maximum number of +.SM IFDs +that may appear in an image and may be an arbitrary size (w/o penalty). +.I ttag_t +must be either int, unsigned int, pointer, or double because +the library uses a varargs interface and +.SM "ANSI C" +restricts the type of the parameter before an ellipsis to be a +promoted type. +.I toff_t +is defined as int32 because TIFF file offsets are (unsigned) 32-bit +quantities. +A signed value is used because some interfaces return \-1 on error. +Finally, note that user-specified data references are +passed as opaque handles and only cast at the lowest layers where +their type is presumed. +.SH "LIST OF ROUTINES" +The following routines are part of the library. +Consult specific manual pages for details on their operation. +The manual page names listed below are for systems +where the full function names can not be encoded in the filesystem; +on most systems doing ``man function-name'' will work. +.sp 5p +.nf +.ta \w'TIFFWriteEncodedStrip'u+2n +\w'Appears on Page'u+2n +\fIName\fP \fIAppears on Page\fP \fIDescription\fP +.sp 5p +TIFFCheckpointDirectory writedir.3t writes the current state of the directory +TIFFCheckTile tile.3t very x,y,z,sample is within image +TIFFCIELabToRGBInit color.3t initialize CIE L*a*b* 1976 to RGB conversion state +TIFFCIELabToXYZ color.3t perform CIE L*a*b* 1976 to CIE XYZ conversion +TIFFClientOpen open.3t open a file for reading or writing +TIFFClose close.3t close an open file +TIFFComputeStrip strip.3t return strip containing y,sample +TIFFComputeTile tile.3t return tile containing x,y,z,sample +TIFFCurrentDirectory query.3t return index of current directory +TIFFCurrentRow query.3t return index of current scanline +TIFFCurrentStrip query.3t return index of current strip +TIFFCurrentTile query.3t return index of current tile +TIFFDataWidth width.3t return the size of TIFF data types +TIFFError error.3t library error handler +TIFFFdOpen open.3t open a file for reading or writing +TIFFFileName query.3t return name of open file +TIFFFileno query.3t return open file descriptor +TIFFFindCODEC codec.3t find standard codec for the specific scheme +TIFFFlush flush.3t flush all pending writes +TIFFFlushData flush.3t flush pending data writes +TIFFGetBitRevTable swab.3t return bit reversal table +TIFFGetField getfield.3t return tag value in current directory +TIFFGetFieldDefaulted getfield.3t return tag value in current directory +TIFFGetMode query.3t return open file mode +TIFFGetVersion query.3t return library version string +TIFFIsCODECConfigured codec.3t check, whether we have working codec +TIFFIsTiled query.3t return true if image data is tiled +TIFFIsByteSwapped query.3t return true if image data is byte-swapped +TIFFNumberOfStrips strip.3t return number of strips in an image +TIFFNumberOfTiles tile.3t return number of tiles in an image +TIFFOpen open.3t open a file for reading or writing +TIFFPrintDirectory print.3t print description of the current directory +TIFFReadBufferSetup rdbuf.3t specify i/o buffer for reading +TIFFReadDirectory readdir.3t read the next directory +TIFFReadEncodedStrip rdestrip.3t read and decode a strip of data +TIFFReadEncodedTile rdetile.3t read and decode a tile of data +TIFFReadRawStrip rdrstrip.3t read a raw strip of data +TIFFReadRawTile rdrtile.3t read a raw tile of data +TIFFReadRGBAImage rdimage.3t read an image into a fixed format raster +TIFFReadScanline readline.3t read and decode a row of data +TIFFReadTile readtile.3t read and decode a tile of data +TIFFRegisterCODEC codec.3t override standard codec for the specific scheme +TIFFReverseBits swab.3t reverse bits in an array of bytes +TIFFRGBAImageBegin rgbaimage.3t setup decoder state for TIFFRGBAImageGet +TIFFRGBAImageEnd rgbaimage.3t release TIFFRGBAImage decoder state +TIFFRGBAImageGet rgbaimage.3t read and decode an image +TIFFRGBAImageOK rgbaimage.3t is image readable by TIFFRGBAImageGet +TIFFScanlineSize size.3t return size of a scanline +TIFFSetDirectory setdir.3t set the current directory +TIFFSetSubDirectory setdir.3t set the current directory +TIFFSetErrorHandler error.3t set error handler function +TIFFSetField setfield.3t set a tag's value in the current directory +TIFFSetWarningHandler error.3t set warning handler function +TIFFStripSize strip.3t returns size of a strip +TIFFRawStripSize strip.3t returns the number of bytes in a raw strip +TIFFSwabShort swab.3t swap bytes of short +TIFFSwabLong swab.3t swap bytes of long +TIFFSwabArrayOfShort swab.3t swap bytes of an array of shorts +TIFFSwabArrayOfLong swab.3t swap bytes of an array of longs +TIFFTileRowSize size.3t return size of a row in a tile +TIFFTileSize size.3t return size of a tile +TIFFUnRegisterCODEC codec.3t unregisters the codec +TIFFVGetField getfield.3t return tag value in current directory +TIFFVGetFieldDefaulted getfield.3t return tag value in current directory +TIFFVSetField setfield.3t set a tag's value in the current directory +TIFFVStripSize strip.3t returns the number of bytes in a strip +TIFFWarning warning.3t library warning handler +TIFFWriteDirectory writedir.3t write the current directory +TIFFWriteEncodedStrip wrestrip.3t compress and write a strip of data +TIFFWriteEncodedTile wretile.3t compress and write a tile of data +TIFFWriteRawStrip wrrstrip.3t write a raw strip of data +TIFFWriteRawTile wrrtile.3t write a raw tile of data +TIFFWriteScanline writeline.3t write a scanline of data +TIFFWriteTile wrrtile.3t compress and write a tile of data +TIFFXYZToRGB color.3t perform CIE XYZ to RGB conversion +TIFFYCbCrToRGBInit color.3t initialize YCbCr to RGB conversion state +TIFFYCbCrtoRGB color.3t perform YCbCr to RGB conversion +.fi +.SH "TAG USAGE" +The table below lists the +.SM TIFF +tags that are recognized and handled by the library. +If no use is indicated in the table, then the library +reads and writes the tag, but does not use it internally. +Note that some tags are meaningful only when a particular +compression scheme is being used; e.g. +.I Group3Options +is only useful if +.I Compression +is set to +.SM CCITT +Group 3 encoding. +Tags of this sort are considered +.I codec-specific +tags and the library does not recognize them except when the +.I Compression +tag has been previously set to the relevant compression scheme. +.sp 5p +.nf +.ta \w'TIFFTAG_JPEGTABLESMODE'u+2n +\w'Value'u+2n +\w'R/W'u+2n +\fITag Name\fP \fIValue\fP \fIR/W\fP \fILibrary Use/Notes\fP +.sp 5p +.nf +Artist 315 R/W +BadFaxLines 326 R/W +BitsPerSample 258 R/W lots +CellLength 265 parsed but ignored +CellWidth 264 parsed but ignored +CleanFaxData 327 R/W +ColorMap 320 R/W +ColorResponseUnit 300 parsed but ignored +Compression 259 R/W choosing codec +ConsecutiveBadFaxLines 328 R/W +Copyright 33432 R/W +DataType 32996 R obsoleted by SampleFormat tag +DateTime 306 R/W +DocumentName 269 R/W +DotRange 336 R/W +ExtraSamples 338 R/W lots +FaxRecvParams 34908 R/W +FaxSubAddress 34909 R/W +FaxRecvTime 34910 R/W +FillOrder 266 R/W control bit order +FreeByteCounts 289 parsed but ignored +FreeOffsets 288 parsed but ignored +GrayResponseCurve 291 parsed but ignored +GrayResponseUnit 290 parsed but ignored +Group3Options 292 R/W used by Group 3 codec +Group4Options 293 R/W +HostComputer 316 R/W +ImageDepth 32997 R/W tile/strip calculations +ImageDescription 270 R/W +ImageLength 257 R/W lots +ImageWidth 256 R/W lots +InkNames 333 R/W +InkSet 332 R/W +JPEGTables 347 R/W used by JPEG codec +Make 271 R/W +Matteing 32995 R obsoleted by ExtraSamples tag +MaxSampleValue 281 R/W +MinSampleValue 280 R/W +Model 272 R/W +NewSubFileType 254 R/W called SubFileType in spec +NumberOfInks 334 R/W +Orientation 274 R/W +PageName 285 R/W +PageNumber 297 R/W +PhotometricInterpretation 262 R/W used by Group 3 and JPEG codecs +PlanarConfiguration 284 R/W data i/o +Predictor 317 R/W used by LZW and Deflate codecs +PrimaryChromacities 319 R/W +ReferenceBlackWhite 532 R/W +ResolutionUnit 296 R/W used by Group 3 codec +RowsPerStrip 278 R/W data i/o +SampleFormat 339 R/W +SamplesPerPixel 277 R/W lots +SMinSampleValue 340 R/W +SMaxSampleValue 341 R/W +Software 305 R/W +StoNits 37439 R/W +StripByteCounts 279 R/W data i/o +StripOffsets 273 R/W data i/o +SubFileType 255 R/W called OSubFileType in spec +TargetPrinter 337 R/W +Thresholding 263 R/W +TileByteCounts 324 R/W data i/o +TileDepth 32998 R/W tile/strip calculations +TileLength 323 R/W data i/o +TileOffsets 324 R/W data i/o +TileWidth 322 R/W data i/o +TransferFunction 301 R/W +WhitePoint 318 R/W +XPosition 286 R/W +XResolution 282 R/W +YCbCrCoefficients 529 R/W used by TIFFRGBAImage support +YCbCrPositioning 531 R/W tile/strip size calulcations +YCbCrSubsampling 530 R/W +YPosition 286 R/W +YResolution 283 R/W used by Group 3 codec +.SH "PSEUDO TAGS" +In addition to the normal +.SM TIFF +tags the library supports a collection of +tags whose values lie in a range outside the valid range of +.SM TIFF +tags. +These tags are termed +.I pseud-tags +and are used to control various codec-specific functions within the library. +The table below summarizes the defined pseudo-tags. +.sp 5p +.nf +.ta \w'TIFFTAG_JPEGTABLESMODE'u+2n +\w'Codec'u+2n +\w'R/W'u+2n +\fITag Name\fP \fICodec\fP \fIR/W\fP \fILibrary Use/Notes\fP +.sp 5p +.nf +TIFFTAG_FAXMODE G3 R/W general codec operation +TIFFTAG_FAXFILLFUNC G3/G4 R/W bitmap fill function +TIFFTAG_JPEGQUALITY JPEG R/W compression quality control +TIFFTAG_JPEGCOLORMODE JPEG R/W control colorspace conversions +TIFFTAG_JPEGTABLESMODE JPEG R/W control contents of \fIJPEGTables\fP tag +TIFFTAG_ZIPQUALITY Deflate R/W compression quality level +TIFFTAG_PIXARLOGDATAFMT PixarLog R/W user data format +TIFFTAG_PIXARLOGQUALITY PixarLog R/W compression quality level +TIFFTAG_SGILOGDATAFMT SGILog R/W user data format +.fi +.TP +.B TIFFTAG_FAXMODE +Control the operation of the Group 3 codec. +Possible values (independent bits that can be combined by +or'ing them together) are: +FAXMODE_CLASSIC +(enable old-style format in which the +.SM RTC +is written at the end of the last strip), +FAXMODE_NORTC +(opposite of +FAXMODE_CLASSIC; +also called +FAXMODE_CLASSF), +FAXMODE_NOEOL +(do not write +.SM EOL +codes at the start of each row of data), +FAXMODE_BYTEALIGN +(align each encoded row to an 8-bit boundary), +FAXMODE_WORDALIGN +(align each encoded row to an 16-bit boundary), +The default value is dependent on the compression scheme; this +pseudo-tag is used by the various G3 and G4 codecs to share code. +.TP +.B TIFFTAG_FAXFILLFUNC +Control the function used to convert arrays of black and white +runs to packed bit arrays. +This hook can be used to image decoded scanlines in multi-bit +depth rasters (e.g. for display in colormap mode) +or for other purposes. +The default value is a pointer to a builtin function that images +packed bilevel data. +.TP +.B TIFFTAG_IPTCNEWSPHOTO +Tag contaings image metadata per the IPTC newsphoto spec: Headline, +captioning, credit, etc... Used by most wire services. +.TP +.B TIFFTAG_PHOTOSHOP +Tag contains Photoshop captioning information and metadata. Photoshop +uses in parallel and redundantly alongside IPTCNEWSPHOTO information. +.TP +.B TIFFTAG_JPEGQUALITY +Control the compression quality level used in the baseline algorithm. +Note that quality levels are in the range 0-100 with a default value of 75. +.TP +.B TIFFTAG_JPEGCOLORMODE +Control whether or not conversion is done between +RGB and YCbCr colorspaces. +Possible values are: +JPEGCOLORMODE_RAW +(do not convert), and +JPEGCOLORMODE_RGB +(convert to/from RGB) +The default value is JPEGCOLORMODE_RAW. +.TP +.B TIFFTAG_JPEGTABLESMODE +Control the information written in the +.I JPEGTables +tag. +Possible values (independent bits that can be combined by +or'ing them together) are: +JPEGTABLESMODE_QUANT +(include quantization tables), +and +JPEGTABLESMODE_HUFF +(include Huffman encoding tables). +The default value is JPEGTABLESMODE_QUANT|JPEGTABLESMODE_HUFF. +.TP +.B TIFFTAG_ZIPQUALITY +Control the compression technique used by the Deflate codec. +Quality levels are in the range 1-9 with larger numbers yielding better +compression at the cost of more computation. +The default quality level is 6 which yields a good time-space tradeoff. +.TP +.B TIFFTAG_PIXARLOGDATAFMT +Control the format of user data passed +.I in +to the PixarLog codec when encoding and passed +.I out +from when decoding. +Possible values are: +PIXARLOGDATAFMT_8BIT +for 8-bit unsigned pixels, +PIXARLOGDATAFMT_8BITABGR +for 8-bit unsigned ABGR-ordered pixels, +PIXARLOGDATAFMT_11BITLOG +for 11-bit log-encoded raw data, +PIXARLOGDATAFMT_12BITPICIO +for 12-bit PICIO-compatible data, +PIXARLOGDATAFMT_16BIT +for 16-bit signed samples, +and +PIXARLOGDATAFMT_FLOAT +for 32-bit IEEE floating point samples. +.TP +.B TIFFTAG_PIXARLOGQUALITY +Control the compression technique used by the PixarLog codec. +This value is treated identically to TIFFTAG_ZIPQUALITY; see the +above description. +.TP +.B TIFFTAG_SGILOGDATAFMT +Control the format of client data passed +.I in +to the SGILog codec when encoding and passed +.I out +from when decoding. +Possible values are: +SGILOGDATAFMT_FLTXYZ +for converting between LogLuv and 32-bit IEEE floating valued XYZ pixels, +SGILOGDATAFMT_16BITLUV +for 16-bit encoded Luv pixels, +SGILOGDATAFMT_32BITRAW and SGILOGDATAFMT_24BITRAW +for no conversion of data, +SGILOGDATAFMT_8BITRGB +for returning 8-bit RGB data (valid only when decoding LogLuv-encoded data), +SGILOGDATAFMT_FLTY +for converting between LogL and 32-bit IEEE floating valued Y pixels, +SGILOGDATAFMT_16BITL +for 16-bit encoded L pixels, +and +SGILOGDATAFMT_8BITGRY +for returning 8-bit greyscale data +(valid only when decoding LogL-encoded data). +.SH DIAGNOSTICS +All error messages are directed through the +.IR TIFFError +routine. +By default messages are directed to +.B stderr +in the form: +.IR "module: message\en." +Warning messages are likewise directed through the +.IR TIFFWarning +routine. +.SH "SEE ALSO" +.IR fax2tiff (1), +.IR gif2tiff (1), +.IR pal2rgb (1), +.IR ppm2tiff (1), +.IR rgb2ycbcr (1), +.IR ras2tiff (1), +.IR raw2tiff (1), +.IR sgi2tiff (1), +.IR tiff2bw (1), +.IR tiffdither (1), +.IR tiffdump (1), +.IR tiffcp (1), +.IR tiffcmp (1), +.IR tiffgt (1), +.IR tiffinfo (1), +.IR tiffmedian (1), +.IR tiffsplit (1), +.IR tiffsv (1), +.PP +.IR "Tag Image File Format Specification \(em Revision 6.0" , +an Aldus Technical Memorandum. +.PP +.IR "The Spirit of TIFF Class F" , +an appendix to the TIFF 5.0 specification prepared by Cygnet Technologies. +.SH BUGS +The library does not support multi-sample images +where some samples have different bits/sample. +.PP +The library does not support random access to compressed data +that is organized with more than one row per tile or strip. +The library discards unknown tags. +The library should do more validity checking of a directory's contents. |