Initial import

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/libtiff@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2014-07-19 07:44:42 +00:00
commit 6e95530335
410 changed files with 80036 additions and 0 deletions
+109
View File
@@ -0,0 +1,109 @@
# $Header: /home/cvsroot/libtiff/html/Makefile.in,v 1.1.1.1 2000/06/24 19:10:16 tshead Exp $
#
# @WARNING@
#
# Tag Image File Format Library Manual Pages
#
# 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 Stanford 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.
#
DEPTH = ..
SRCDIR = ${DEPTH}/@SRCDIR@/html
VPATH = ../@SRCDIR@/html
PORT = ${DEPTH}/port
#
# VERSION: @VERSION@
# DATE: @DATE@
# TARGET: @TARGET@
# CCOMPILER: @CCOMPILER@
#
SHELL = @SCRIPT_SH@
NULL =
ECHO = echo
MV = mv
RM = rm -f
INSTALL = @INSTALL@
HTML = @DIR_HTML@
HTMLFILES=\
bugs.html \
build.html \
contrib.html \
document.html \
images.html \
index.html \
internals.html \
intro.html \
libtiff.html \
misc.html \
support.html \
tools.html \
v3.4beta007.html \
v3.4beta016.html \
v3.4beta018.html \
v3.4beta024.html \
v3.4beta028.html \
v3.4beta029.html \
v3.4beta031.html \
v3.4beta032.html \
v3.4beta033.html \
v3.4beta034.html \
v3.4beta035.html \
v3.4beta036.html \
v3.5.1.html \
v3.5.2.html \
v3.5.3.html \
v3.5.4.html \
v3.5.5.html \
${NULL}
IMAGES=\
images/back.gif \
images/bali.jpg \
images/cat.gif \
images/cover.jpg \
images/cramps.gif \
images/jello.jpg \
images/jim.gif \
images/note.gif \
images/oxford.gif \
images/quad.jpg \
images/ring.gif \
images/smallliz.jpg \
images/strike.gif \
images/warning.gif \
${NULL}
TARGETS=
all: ${TARGETS}
install: all
${INSTALL} -m 755 -dir -idb tiff.man.html ${HTML} ${HTML}/images
for i in ${HTMLFILES} ${IMAGES}; do \
${INSTALL} -idb tiff.man.html -m 444 -F ${HTML} \
-src ${SRCDIR}/$$i -O $$i; \
done
clean:;
Executable
+46
View File
@@ -0,0 +1,46 @@
<HTML>
<HEAD>
<TITLE>
Bugs and the TIFF Mailing List
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/cover.jpg WIDTH=110 HEIGHT=110 ALIGN=left BORDER=1 HSPACE=6>
Bugs and the TIFF Mailing List
</H1>
<P>
This software is free. Please let us know when you find a problem or
fix a bug.
<P>
A mailing list for users of this software is located at olympiakos.com
If you want to join this mailing list or have a list-related request
such as getting your name removed from it, send a request to
<UL>
<A HREF="mailto:tiff-request@olympiakos.com">tiff-request@olympiakos.com</A>
</UL>
For example, to subscribe, send the line
<UL><PRE>
subscribe
</PRE></UL>
in the body of your message. The line <TT>help</TT> will return a list of
the commands understood by the mailing list management software.
<P>
Submissions (including bug reports) should be directed to:
<UL>
<A HREF="mailto:tiff@olympiakos.com">tiff@olympiakos.com</A>
</UL>
When corresponding about this software please always specify what
version you have and what system you are running on.
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+1167
View File
File diff suppressed because it is too large Load Diff
+158
View File
@@ -0,0 +1,158 @@
<HTML>
<HEAD>
<TITLE>
Contributed TIFF Software
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/smallliz.jpg WIDTH=144 HEIGHT=108 ALIGN=left BORDER=1 HSPACE=6>
Contributed TIFF Software
</H1>
<P>
The <B>contrib</B> directory has contributed software that
uses the TIFF library or which is associated with the library
(typically glue and guidance for ports to non-UNIX platforms, or tools that
aren't directly TIFF related).
<BR CLEAR=left>
<P>
<TABLE BORDER CELLPADDING=3>
<TR>
<TD VALIGN=top>
<B>contrib/vms</B>
</TD>
<TD>
scripts and files from Karsten Spang for building
the library and tools under VMS
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/dbs</B>
</TD>
<TD>
various tools from Dan & Chris Sears, including a simple X-based viewer
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/ras</B>
</TD>
<TD>
two programs by Patrick Naughton for converting
between Sun rasterfile format and TIFF (these
require <TT>libpixrect.a</TT>, as opposed to the one in
tools that doesn't)
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/mac-mpw</B>
</TD>
<TD>
scripts and files from Niles Ritter for building
the library and tools under Macintosh/MPW C.
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/acorn</B>
</TD>
<TD>
scripts and files from Peter Greenham for building
the library and tools on an Acorn RISC OS system.
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/win32</B>
</TD>
<TD>
scripts and files from Scott Wagner for building
the library under Windows NT and Windows 95.
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/dosdjgpp</B>
</TD>
<TD>
scripts and files from Alexander Lehmann for building
the library under MSDOS with the DJGPP v2 compiler.
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/tags</B>
</TD>
<TD>
scripts and files from Niles Ritter for adding private
tag support at runtime, without changing libtiff.
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/mfs</B>
</TD>
<TD>
code from Mike Johnson to read+write images in memory
without modifying the library
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/pds</B>
</TD>
<TD>
various routines from Conrad Poelman; a TIFF image iterator and
code to support ``private sub-directories''
</TD>
</TR>
<TR>
<TD VALIGN=top>
<B>contrib/iptcutil</B>
</TD>
<TD>
A utility by <A HREF=mailto:billr@corbis.com>Bill Radcliffe</a> to
convert an extracted IPTC Newsphoto caption from a binary blob to
ASCII text, and vice versa. IPTC binary blobs can be extracted from
images via the <A
HREF=http://www.wizards.dupont.com/magick>ImageMagick</a> convert(1)
utility.
</TD>
</TR>
</TABLE>
<P>
Questions regarding these packages are usually best directed toward
their authors.
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+50
View File
@@ -0,0 +1,50 @@
<HTML>
<HEAD>
<TITLE>
TIFF Documentation
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/jim.gif WIDTH=139 HEIGHT=170 ALIGN=left BORDER=1 HSPACE=6>
TIFF Documentation
</H1>
<P>
A copy of the 6.0 specification is available by public ftp at
<UL>
<A HREF="ftp://ftp.onshore.com/pub/libtiff/TIFF6.ps.Z">ftp://ftp.onshore.com/pub/libtiff/TIFF6.ps.Z</A>
</UL>
This is a PostScript version of the final 6.0 specification compressed
with the standard UNIX compress(1) program.
An uncompressed PostScript file is also available as TIFF6.ps in
the same directory.
<BR CLEAR=left>
<P>
Adobe provides the 6.0 spec online in
Acrobat format (PDF); this can be found at
<UL>
<A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf">http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf</A>
</UL>
TIFF Technical Notes can be retrieved from
<UL>
<A HREF="http://partners.adobe.com/asn/developer/technotes.html">http://partners.adobe.com/asn/developer/technotes.html</a>
</UL>
<P>
<HR>
<ADDRESS>
Last updated: $Date: 2000/06/24 19:10:16 $
</ADDRESS>
</BODY>
</HTML>
+40
View File
@@ -0,0 +1,40 @@
<HTML>
<HEAD>
<TITLE>
TIFF Test Images
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/bali.jpg WIDTH=158 HEIGHT=107 ALIGN=left BORDER=1 HSPACE=6>
TIFF Test Images
</H1>
<P>
Test images are available for most formats supported by the library.
Most of the images included in the test kit are also part of this
documentation (albeit in TIFF rather than GIF or JFIF).
The images are kept in a separate archive that should be located in
the same directory as this software.
<BR CLEAR=left>
<P>
The latest archive of test images is located at
<A HREF="ftp://ftp.onshore.com/pub/libtiff/v3.4pics.tar.Z">ftp://ftp.onshore.com/pub/libtiff/v3.4pics.tar.Z</A>
<P>
There are two other good sources for TIFF test images:
the contributed software <B>contrib/dbs</B> includes several
programs that generate test images suitable for debugging, and
the <TT>tiffcp</TT> program can be used to generate a variety
of images with different storage characteristics.
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

+97
View File
@@ -0,0 +1,97 @@
<HTML>
<HEAD>
<TITLE>
TIFF Software
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Helvetica, Sans, Arial">
<H1>
<!-- IMG SRC=images/jello.jpg WIDTH=256 HEIGHT=192 ALIGN=left BORDER=1 HSPACE=6-->
TIFF Software
<HR SIZE=4 WIDTH=55% ALIGN=left>
</H1>
<B>Home Page</B>: <A HREF="http://www.libtiff.org/">
http://www.libtiff.org</A> <BR>
<B>FAQ Page</B>: <I>forthcoming</I><BR>
<B>Latest Release</B>: <A HREF="v3.5.5.html">v3.5.5</A><BR>
<B>Latest Software</B>: <A HREF="v3.5.5.html">v3.5.5</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com</A> , directory pub/libtiff (Active mode FTP only!)<BR>
<B>HTTP Download</B>: <A HREF=http://www.libtiff.org/tiff-v3.5.5.tar.gz>http://www.libtiff.org/tiff-v3.5.5.tar.gz</a>, <A HREF=http://www.libtiff.org/tiff-v3.5.5.zip>http://www.libtiff.org/tiff-v3.5.5.zip</a><BR>
<B>LZW Compression Kit:</B> <A HREF="libtiff-lzw-compression-kit.tar.gz">libtiff-lzw-compression-kit</A><BR>
<B>Mailing List</B>: <a href=mailto:tiff@olympiakos.com>tiff@olympiakos.com</a> <BR>
<B>Mailing List Subscription</b>: <a href=mailto:tiff-request@olympiakos.com>tiff-request@olympiakos.com</a> ("subscribe tiff" in body of message). <BR>
<B>Mailing List Archive</b>: <A HREF= http://www.remotesensing.org/lists/libtiff_archive/maillist.html>http://www.remotesensing.org/lists/libtiff_archive/maillist.html</A> <BR>
<B>Anonymous CVS</B>:<pre>
export CVSROOT=:pserver:anonymous@remotesensing.org:/cvsroot
cvs login # use password "anonymous"
cvs checkout libtiff
cvs checkout libtiff-lzw-compression-kit
</pre>
<br>
<P>
This software provides support for the <I>Tag Image File Format</I> (TIFF),
a widely used format for storing image data. The latest version of
the TIFF specification is <A HREF=document.html>available on-line</A>
in several different formats,
as are a number of <A HREF= http://partners.adobe.com/asn/developer/technotes.html>Technical Notes (TTN's)</A>.
<P>
Included in this software distribution is a library, libtiff, for
reading and writing TIFF, a small collection of tools for doing simple
manipulations of TIFF images on UNIX systems,
and documentation on the library and
tools. A small assortment of TIFF-related software for UNIX
that has been contributed by others is also included.
<P>
The library, along with associated tool programs, should handle most of
your needs for reading and writing TIFF images on 32- and 64-bit
machines. This software can also be used on older 16-bit systems
though it may require some effort and you may need to leave out some of
the compression support.
<p> The software was orginally authored and maintained by Sam Leffler.
While he keeps a fatherly eye on the mailing list, he is no longer
responsible for day to day maintenance.
<p> Questions should be sent to
the TIFF mailing list: <A
HREF=mailto:tiff@olympiakos.com>tiff@olympiakos.com</A>.
<p> The persons responsible for putting up this site and putting together versions >= 3.5.1 are
<A HREF=http://members.home.com/warmerda>Frank Warmerdam</A> and <A HREF=http://fifth.net/>Mike Welles</a>.
<p>
The following sections are included in this documentation:
<UL>
<LI><A HREF="support.html">TIFF 6.0 specification coverage</A>
<LI><A HREF="libtiff.html">Using the TIFF Library</A>
<LI><A HREF="internals.html">Modifying the TIFF Library</A>
<LI><A HREF="tools.html">TIFF tools overview</A>
<LI><A HREF="contrib.html">Contributed software</A>
<LI><A HREF="document.html">TIFF documentation</A>
<LI><A HREF="build.html">Building the software distribution</A>
<LI><A HREF="bugs.html">Bugs and the TIFF mailing list</A>
<LI><A HREF="images.html">Test images</A>
<LI><A HREF="misc.html">Acknowledgements and copyright issues</A>
<LI><A HREF="man/index.html">Man Pages</A>
</UL>
<P>
<HR>
<em>
$Id: index.html,v 1.1.1.1 2000/06/24 19:10:16 tshead Exp $
</em>
</BODY>
<FONT FACE="Arial, Helvetica, Sans">
</HTML>
+654
View File
@@ -0,0 +1,654 @@
<HTML>
<HEAD>
<TITLE>
Modifying The TIFF Library
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/dave.gif WIDTH=107 HEIGHT=148 BORDER=2 ALIGN=left HSPACE=6>
Modifying The TIFF Library
</H1>
<P>
This chapter provides information about the internal structure of
the library, how to control the configuration when building it, and
how to add new support to the library.
The following sections are found in this chapter:
<UL>
<LI><A HREF=#Config>Library Configuration</A>
<LI><A HREF=#Portability>General Portability Comments</A>
<LI><A HREF="#Types">Types and Portability</A>
<LI><A HREF=#AddingTags>Adding New Tags</A>
<LI><A HREF=#AddingCODECS>Adding New Builtin Codecs</A>
<LI><A HREF=#AddingCODECTags>Adding New Codec-private Tags</A>
<LI><A HREF=#Other>Other Comments</A>
</UL>
<A NAME="Config"><P><HR WIDTH=65% ALIGN=right><H3>Library Configuration</H3></A>
Information on compiling the library is given
<A HREF=build.html>elsewhere in this documentation</A>.
This section describes the low-level mechanisms used to control
the optional parts of the library that are configured at build
time. Control is based on
a collection of C defines that are specified either on the compiler
command line or in a configuration file such as <TT>port.h</TT>
(as generated by the <TT>configure</TT> script for UNIX systems)
or <B>tiffconf.h</B>.
<P>
Configuration defines are split into three areas:
<UL>
<LI>those that control which compression schemes are
configured as part of the builtin codecs,
<LI>those that control support for groups of tags that
are considered optional, and
<LI>those that control operating system or machine-specific support.
</UL>
<P>
If the define <TT>COMPRESSION_SUPPORT</TT> is <STRONG>not defined</STRONG>
then a default set of compression schemes is automatically
configured:
<UL>
<LI>CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, and 32771),
<LI>the Macintosh PackBits algorithm (compression 32773),
<LI>a Lempel-Ziv & Welch (LZW) algorithm (compression 5),
<LI>a 4-bit run-length encoding scheme from ThunderScan (compression 32809),
<LI>a 2-bit encoding scheme used by NeXT (compression 32766), and
<LI>two experimental schemes intended for images with high dynamic range
(compression 34676 and 34677).
</UL>
To override this behaviour define <TT>COMPRESSION_SUPPORT</TT>
and then one or more additional defines to enable configuration of
the appropriate codecs (see the table below); e.g.
<UL><PRE>
#define COMPRESSION_SUPPORT
#define CCITT_SUPPORT
#define PACKBITS_SUPPORT
</PRE></UL>
Several other compression schemes are configured separately from
the default set because they depend on ancillary software
packages that are not distributed with <TT>libtiff</TT>.
<P>
Support for JPEG compression is controlled by <TT>JPEG_SUPPORT</TT>.
The JPEG codec that comes with <TT>libtiff</TT> is designed for
use with release 5 or later of the Independent JPEG Group's freely
available software distribution.
This software can be retrieved from the directory
<A HREF=ftp://ftp.uu.net/graphics/jpeg>ftp.uu.net:/graphics/jpeg/</A>.
<P>
<IMG SRC="images/info.gif" ALT="NOTE: " ALIGN=left HSPACE=8>
<EM>Enabling JPEG support automatically enables support for
the TIFF 6.0 colorimetry and YCbCr-related tags.</EM>
<P>
Experimental support for the deflate algorithm is controlled by
<TT>DEFLATE_SUPPORT</TT>.
The deflate codec that comes with <TT>libtiff</TT> is designed
for use with version 0.99 or later of the freely available
<TT>libz</TT> library written by Jean-loup Gailly and Mark Adler.
The data format used by this library is described
in the files
<A HREF=ftp://ftp.uu.net/pub/archiving/zip/doc/zlib-3.1.doc>zlib-3.1.doc</A>,
and
<A HREF=ftp://ftp.uu.net/pub/archiving/zip/doc/deflate-1.1.doc>deflate-1.1.doc</A>,
available in the directory
<A HREF=ftp://ftp.uu.net/pub/archiving/zip/doc>ftp.uu.net:/pub/archiving/zip/doc</A>.</EM>
The library can be retried from the directory
<A HREF=ftp://ftp.uu.net/pub/archiving/zip/zlib/>ftp.uu.net:/pub/archiving/zip/zlib/</A>
(or try <A HREF=ftp://quest.jpl.nasa.gov/beta/zlib/>quest.jpl.nasa.gov:/beta/zlib/</A>).
<P>
<IMG SRC="images/warning.gif" ALT="NOTE: " ALIGN=left HSPACE=8 VSPACE=6>
<EM>The deflate algorithm is experimental. Do not expect
to exchange files using this compression scheme;
it is included only because the similar, and more common,
LZW algorithm is claimed to be governed by licensing restrictions.</EM>
<P>
By default <B>tiffconf.h</B> defines
<TT>COLORIMETRY_SUPPORT</TT>,
<TT>YCBCR_SUPPORT</TT>,
and
<TT>CMYK_SUPPORT</TT>.
<P>
<TABLE BORDER CELLPADDING=3>
<TR><TH ALIGN=left>Define</TH><TH ALIGN=left>Description</TH></TR>
<TR>
<TD VALIGN=top><TT>CCITT_SUPPORT</TT></TD>
<TD>CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4,
and 32771)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>PACKBITS_SUPPORT</TT></TD>
<TD>Macintosh PackBits algorithm (compression 32773)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>LZW_SUPPORT</TT></TD>
<TD>Lempel-Ziv & Welch (LZW) algorithm (compression 5)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>THUNDER_SUPPORT</TT></TD>
<TD>4-bit
run-length encoding scheme from ThunderScan (compression 32809)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>NEXT_SUPPORT</TT></TD>
<TD>2-bit encoding scheme used by NeXT (compression 32766)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>OJPEG_SUPPORT</TT></TD>
<TD>obsolete JPEG scheme defined in the 6.0 spec (compression 6)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>JPEG_SUPPORT</TT></TD>
<TD>current JPEG scheme defined in TTN2 (compression 7)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>ZIP_SUPPORT</TT></TD>
<TD>experimental Deflate scheme (compression 32946)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>PIXARLOG_SUPPORT</TT></TD>
<TD>Pixar's compression scheme for high-resolution color images (compression 32909)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>SGILOG_SUPPORT</TT></TD>
<TD>SGI's compression scheme for high-resolution color images (compression 34676 and 34677)</TD>
</TR>
<TR>
<TD VALIGN=top><TT>COLORIMETRY_SUPPORT</TT></TD>
<TD>support for the TIFF 6.0 colorimetry tags</TD>
</TR>
<TR>
<TD VALIGN=top><TT>YCBCR_SUPPORT</TT></TD>
<TD>support for the TIFF 6.0 YCbCr-related tags</TD>
</TR>
<TR>
<TD VALIGN=top><TT>CMYK_SUPPORT</TT></TD>
<TD>support for the TIFF 6.0 CMYK-related tags</TD>
</TR>
<TR>
<TD VALIGN=top><TT>ICC_SUPPORT</TT></TD>
<TD>support for the ICC Profile tag; see
<I>The ICC Profile Format Specification</I>,
Annex B.3 "Embedding ICC Profiles in TIFF Files";
available at
<A HREF=http://www.color.org>http://www.color.org</A>
</TD>
</TR>
</TABLE>
<A NAME="Portability"><P><HR WIDTH=65% ALIGN=right><H3>General Portability Comments</H3></A>
This software is developed on Silicon Graphics UNIX
systems (big-endian, MIPS CPU, 32-bit ints,
IEEE floating point).
The <TT>configure</TT> shell script generates the appropriate
include files and make files for UNIX systems.
Makefiles exist for non-UNIX platforms that the
code runs on -- this work has mostly been done by other people.
<P>
In general, the code is guaranteed to work only on SGI machines.
In practice it is highly portable to any 32-bit or 64-bit system and much
work has been done to insure portability to 16-bit systems.
If you encounter portability problems please return fixes so
that future distributions can be improved.
<P>
The software is written to assume an ANSI C compilation environment.
If your compiler does not support ANSI function prototypes, <TT>const</TT>,
and <TT>&lt;stdarg.h&gt;</TT> then you will have to make modifications to the
software. In the past I have tried to support compilers without <TT>const</TT>
and systems without <TT>&lt;stdarg.h&gt;</TT>, but I am
<EM>no longer interested in these
antiquated environments</EM>. With the general availability of
the freely available GCC compiler, I
see no reason to incorporate modifications to the software for these
purposes.
<P>
An effort has been made to isolate as many of the
operating system-dependencies
as possible in two files: <B>tiffcomp.h</B> and
<B>libtiff/tif_&lt;os&gt;.c</B>. The latter file contains
operating system-specific routines to do I/O and I/O-related operations.
The UNIX (<B>tif_unix.c</B>),
Macintosh (<B>tif_apple.c</B>),
and VMS (<B>tif_vms.c</B>)
code has had the most use;
the MS/DOS support (<B>tif_msdos.c</B>) assumes
some level of UNIX system call emulation (i.e.
<TT>open</TT>,
<TT>read</TT>,
<TT>write</TT>,
<TT>fstat</TT>,
<TT>malloc</TT>,
<TT>free</TT>).
<P>
Native CPU byte order is determined on the fly by
the library and does not need to be specified.
The <TT>HOST_FILLORDER</TT> and <TT>HOST_BIGENDIAN</TT>
definitions are not currently used, but may be employed by
codecs for optimization purposes.
<P>
The following defines control general portability:
<P>
<TABLE BORDER CELLPADDING=3 WIDTH=100%>
<TR>
<TD VALIGN=top><TT>BSDTYPES</TT></TD>
<TD>Define this if your system does NOT define the
usual BSD typedefs: <TT>u_char</TT>,
<TT>u_short</TT>, <TT>u_int</TT>, <TT>u_long</TT>.</TD>
</TR>
<TR>
<TD VALIGN=top><TT>HAVE_IEEEFP</TT></TD>
<TD>Define this as 0 or 1 according to the floating point
format suported by the machine. If your machine does
not support IEEE floating point then you will need to
add support to tif_machdep.c to convert between the
native format and IEEE format.</TD>
</TR>
<TR>
<TD VALIGN=top><TT>HAVE_MMAP</TT></TD>
<TD>Define this if there is <I>mmap-style</I> support for
mapping files into memory (used only to read data).</TD>
</TR>
<TR>
<TD VALIGN=top><TT>HOST_FILLORDER</TT></TD>
<TD>Define the native CPU bit order: one of <TT>FILLORDER_MSB2LSB</TT>
or <TT>FILLORDER_LSB2MSB</TT></TD>
</TR>
<TR>
<TD VALIGN=top><TT>HOST_BIGENDIAN</TT></TD>
<TD>Define the native CPU byte order: 1 if big-endian (Motorola)
or 0 if little-endian (Intel); this may be used
in codecs to optimize code</TD>
</TR>
</TABLE>
<P>
On UNIX systems <TT>HAVE_MMAP</TT> is defined through the running of
the <TT>configure</TT> script; otherwise support for memory-mapped
files is disabled.
Note that <B>tiffcomp.h</B> defines <TT>HAVE_IEEEFP</TT> to be
1 (<TT>BSDTYPES</TT> is not defined).
<A NAME="Types"><P><HR WIDTH=65% ALIGN=right><H3>Types and Portability</H3></A>
The software 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
TIFF format. There are interactions between these two to be careful
of, but for the most part you should be able to deal with portability
purely by fiddling with the following machine-dependent typedefs:
<P>
<TABLE BORDER CELLPADDING=3 WIDTH=100%>
<TR>
<TD>uint8</TD>
<TD>8-bit unsigned integer</TD>
<TD>tiff.h</TD>
</TR>
<TR>
<TD>int8</TD>
<TD>8-bit signed integer</TD>
<TD>tiff.h</TD>
</TR>
<TR>
<TD>uint16</TD>
<TD>16-bit unsigned integer</TD>
<TD>tiff.h</TD>
</TR>
<TR>
<TD>int16</TD>
<TD>16-bit signed integer</TD>
<TD>tiff.h</TD>
</TR>
<TR>
<TD>uint32</TD>
<TD>32-bit unsigned integer</TD>
<TD>tiff.h</TD>
</TR>
<TR>
<TD>int32</TD>
<TD>32-bit signed integer</TD>
<TD>tiff.h</TD>
</TR>
<TR>
<TD>dblparam_t</TD>
<TD>promoted type for floats</TD>
<TD>tiffcomp.h</TD>
</TR>
</TABLE>
<P>
(to clarify <TT>dblparam_t</TT>, it is the type that float parameters are
promoted to when passed by value in a function call.)
<P>
The following typedefs are used throughout the library and interfaces
to refer to certain objects whose size is dependent on the TIFF image
structure:
<P>
<TABLE BORDER CELLPADDING=3 WIDTH=100%>
<TR>
<TD WIDTH=25%>typedef unsigned int ttag_t;</TD> <TD>directory tag</TD>
</TR>
<TR>
<TD>typedef uint16 tdir_t;</TD> <TD>directory index</TD>
</TR>
<TR>
<TD>typedef uint16 tsample_t;</TD> <TD>sample number</TD>
</TR>
<TR>
<TD>typedef uint32 tstrip_t;</TD> <TD>strip number</TD>
</TR>
<TR>
<TD>typedef uint32 ttile_t;</TD> <TD>tile number</TD>
</TR>
<TR>
<TD>typedef int32 tsize_t;</TD> <TD>i/o size in bytes</TD>
</TR>
<TR>
<TD>typedef void* tdata_t;</TD> <TD>image data ref</TD>
</TR>
<TR>
<TD>typedef void* thandle_t;</TD> <TD>client data handle</TD>
</TR>
<TR>
<TD>typedef int32 toff_t;</TD> <TD>file offset (should be off_t)</TD>
</TR>
<TR>
<TD>typedef unsigned char* tidata_t;</TD> <TD>internal image data</TD>
</TR>
</TABLE>
<P>
Note that <TT>tstrip_t</TT>, <TT>ttile_t</TT>, and <TT>tsize_t</TT>
are constrained to be
no more than 32-bit quantities by 32-bit fields they are stored
in in the TIFF image. Likewise <TT>tsample_t</TT> is limited by the 16-bit
field used to store the <TT>SamplesPerPixel</TT> tag. <TT>tdir_t</TT>
constrains
the maximum number of IFDs that may appear in an image and may
be an arbitrary size (without penalty). <TT>ttag_t</TT> must be either
<TT>int</TT>, <TT>unsigned int</TT>, pointer, or <TT>double</TT>
because the library uses a varargs
interface and ANSI C restricts the type of the parameter before an
ellipsis to be a promoted type. <TT>toff_t</TT> is defined as
<TT>int32</TT> because
TIFF file offsets are (unsigned) 32-bit quantities. A signed
value is used because some interfaces return -1 on error (sigh).
Finally, note that <TT>tidata_t</TT> is used internally to the library to
manipulate internal data. User-specified data references are
passed as opaque handles and only cast at the lowest layers where
their type is presumed.
<P><HR WIDTH=65% ALIGN=right><H3>General Comments</H3></A>
The library is designed to hide as much of the details of TIFF from
applications as
possible. In particular, TIFF directories are read in their entirety
into an internal format. Only the tags known by the library are
available to a user and certain tag data may be maintained that a user
does not care about (e.g. transfer function tables).
<A NAME=AddingTags><P><HR WIDTH=65% ALIGN=right><H3>Adding New Tags</H3></A>
To add support for a new directory tag you have three options. If your
tag is specific to a compression algorithm, see below. If you have a lot
of tags you may want to try using Niles Ritter's runtime tag-extension
scheme in the "contrib/tags" directory, which makes the changes
orthogonal to the main libtiff code. Otherwise use
the following guidelines to add support to the ``core library''.
<OL>
<LI>Define the tag in <B>tiff.h</B>.
<LI>Add a field to the directory structure in <B>tif_dir.h</B>
and define a <TT>FIELD_*</TT> bit (also update the definition of
<TT>FIELD_CODEC</TT> to reflect your addition).
<LI>Add an entry in the <TT>TIFFFieldInfo</TT> array defined at the top of
<B>tif_dirinfo.c</B>.
Note that you must keep this array sorted by tag
number and that the widest variant entry for a tag should come
first (e.g. <TT>LONG</TT> before <TT>SHORT</TT>).
<LI>Add entries in <TT>_TIFFVSetField()</TT> and <TT>_TIFFVGetField()</TT>
for the new tag.
<LI>(<I>optional</I>) If the value associated with the tag is not a scalar value
(e.g. the array for <TT>TransferFunction</TT>) and requires
special processing,
then add the appropriate code to <TT>TIFFReadDirectory()</TT> and
<TT>TIFFWriteDirectory()</TT>. You're best off finding a similar tag and
cribbing code.
<LI>Add support to <TT>TIFFPrintDirectory()</TT> in <B>tif_print.c</B>
to print the tag's value.
</OL>
<P>
If you want to maintain portability, beware of making assumptions
about data types. Use the typedefs (<TT>uint16</TT>, etc. when dealing with
data on disk and <TT>t*_t</TT> when stuff is in memory) and be careful about
passing items through printf or similar vararg interfaces.
<A NAME=AddingCODECS><P><HR WIDTH=65% ALIGN=right><H3>Adding New Builtin Codecs</H3></A>
To add builtin support for a new compression algorithm, you can either
use the "tag-extension" trick to override the handling of the
TIFF Compression tag (see <A HREF=#AddingTags>Adding New Tags</A>, above),
or do the following to add support directly to the core library:
<OL>
<LI>Define the tag value in <B>tiff.h</B>.
<LI>Edit the file <B>tif_codec.c</B> to add an entry to the
_TIFFBuiltinCODECS array (see how other algorithms are handled).
<LI>Add the appropriate function prototype declaration to
<B>tiffiop.h</B> (close to the bottom).
<LI>Create a file with the compression scheme code, by convention files
are named <B>tif_*.c</B> (except perhaps on some systems where the
tif_ prefix pushes some filenames over 14 chars.
<LI>Edit <B>Makefile.in</B> (and any other Makefiles)
to include the new source file.
</OL>
<P>
A codec, say <TT>foo</TT>, can have many different entry points:
<PRE>
TIFFInitfoo(tif, scheme)/* initialize scheme and setup entry points in tif */
fooSetupDecode(tif) /* called once per IFD after tags has been frozen */
fooPreDecode(tif, sample)/* called once per strip/tile, after data is read,
but before the first row is decoded */
fooDecode*(tif, bp, cc, sample)/* decode cc bytes of data into the buffer */
fooDecodeRow(...) /* called to decode a single scanline */
fooDecodeStrip(...) /* called to decode an entire strip */
fooDecodeTile(...) /* called to decode an entire tile */
fooSetupEncode(tif) /* called once per IFD after tags has been frozen */
fooPreEncode(tif, sample)/* called once per strip/tile, before the first row in
a strip/tile is encoded */
fooEncode*(tif, bp, cc, sample)/* encode cc bytes of user data (bp) */
fooEncodeRow(...) /* called to decode a single scanline */
fooEncodeStrip(...) /* called to decode an entire strip */
fooEncodeTile(...) /* called to decode an entire tile */
fooPostEncode(tif) /* called once per strip/tile, just before data is written */
fooSeek(tif, row) /* seek forwards row scanlines from the beginning
of a strip (row will always be &gt;0 and &lt;rows/strip */
fooCleanup(tif) /* called when compression scheme is replaced by user */
</PRE>
<P>
Note that the encoding and decoding variants are only needed when
a compression algorithm is dependent on the structure of the data.
For example, Group 3 2D encoding and decoding maintains a reference
scanline. The sample parameter identifies which sample is to be
encoded or decoded if the image is organized with <TT>PlanarConfig</TT>=2
(separate planes). This is important for algorithms such as JPEG.
If <TT>PlanarConfig</TT>=1 (interleaved), then sample will always be 0.
<A NAME=AddingCODECTags><P><HR WIDTH=65% ALIGN=right><H3>Adding New Codec-private Tags</H3></A>
To add tags that are meaningful <EM>only when a particular compression
algorithm is used</EM> follow these steps:
<OL>
<LI>Define the tag in <B>tiff.h</B>.
<LI>Allocate storage for the tag values in the private state block of
the codec.
<LI>Insure the state block is created when the codec is initialized.
<LI>At <TT>TIFFInitfoo</TT> time override the method pointers in the
TIFF structure
for getting, setting and printing tag values. For example,
<PRE>
sp->vgetparent = tif->tif_vgetfield;
tif->tif_vgetfield = fooVGetField; /* hook for codec tags */
sp->vsetparent = tif->tif_vsetfield;
tif->tif_vsetfield = fooVSetField; /* hook for codec tags */
tif->tif_printdir = fooPrintDir; /* hook for codec tags */
</PRE>
(Actually you may decide not to override the
<TT>tif_printdir</TT> method, but rather just specify it).
<LI>Create a private <TT>TIFFFieldInfo</TT> array for your tags and
merge them into the core tags at initialization time using
<TT>_TIFFMergeFieldInfo</TT>; e.g.
<PRE>
_TIFFMergeFieldInfo(tif, fooFieldInfo, N(fooFieldInfo));
</PRE>
(where <TT>N</TT> is a macro used liberaly throughout the distributed code).
<LI>Fill in the get and set routines. Be sure to call the parent method
for tags that you are not handled directly. Also be sure to set the
<TT>FIELD_*</TT> bits for tags that are to be written to the file. Note that
you can create ``pseudo-tags'' by defining tags that are processed
exclusively in the get/set routines and never written to file (see
the handling of <TT>TIFFTAG_FAXMODE</TT> in <B>tif_fax3.c</B>
for an example of this).
<LI>Fill in the print routine, if appropriate.
</OL>
Note that space has been allocated in the <TT>FIELD_*</TT> bit space for
codec-private tags. Define your bits as <TT>FIELD_CODEC+&lt;offset&gt;</TT> to
keep them away from the core tags. If you need more tags than there
is room for, just increase <TT>FIELD_SETLONGS</TT> at the top of
<B>tiffiop.h</B>.
<A NAME=Other><P><HR WIDTH=65% ALIGN=right><H3>Other Comments</H3></A>
The library handles most I/O buffering. There are two data buffers
when decoding data: a raw data buffer that holds all the data in a
strip, and a user-supplied scanline buffer that compression schemes
place decoded data into. When encoding data the data in the
user-supplied scanline buffer is encoded into the raw data buffer (from
where it is written). Decoding routines should never have to explicitly
read data -- a full strip/tile's worth of raw data is read and scanlines
never cross strip boundaries. Encoding routines must be cognizant of
the raw data buffer size and call <TT>TIFFFlushData1()</TT> when necessary.
Note that any pending data is automatically flushed when a new strip/tile is
started, so there's no need do that in the tif_postencode routine (if
one exists). Bit order is automatically handled by the library when
a raw strip or tile is filled. If the decoded samples are interpreted
by the decoding routine before they are passed back to the user, then
the decoding logic must handle byte-swapping by overriding the
<TT>tif_postdecode</TT>
routine (set it to <TT>TIFFNoPostDecode</TT>) and doing the required work
internally. For an example of doing this look at the horizontal
differencing code in the routines in <B>tif_predict.c</TT>.
<P>
The variables <TT>tif_rawcc</TT>, <TT>tif_rawdata</TT>, and
<TT>tif_rawcp</TT> in a <TT>TIFF</TT> structure
are associated with the raw data buffer. <TT>tif_rawcc</TT> must be non-zero
for the library to automatically flush data. The variable
<TT>tif_scanlinesize</TT> is the size a user's scanline buffer should be. The
variable <TT>tif_tilesize</TT> is the size of a tile for tiled images. This
should not normally be used by compression routines, except where it
relates to the compression algorithm. That is, the <TT>cc</TT> parameter to the
<TT>tif_decode*</TT> and <TT>tif_encode*</TT>
routines should be used in terminating
decompression/compression. This ensures these routines can be used,
for example, to decode/encode entire strips of data.
<P>
In general, if you have a new compression algorithm to add, work from
the code for an existing routine. In particular,
<B>tif_dumpmode.c</B>
has the trivial code for the "nil" compression scheme,
<B>tif_packbits.c</B> is a
simple byte-oriented scheme that has to watch out for buffer
boundaries, and <B>tif_lzw.c</B> has the LZW scheme that has the most
complexity -- it tracks the buffer boundary at a bit level.
Of course, using a private compression scheme (or private tags) limits
the portability of your TIFF files.
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+68
View File
@@ -0,0 +1,68 @@
<HTML>
<HEAD>
<TITLE>
Introduction to the TIFF Documentation
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/strike.gif WIDTH=128 HEIGHT=100 ALIGN=left HSPACE=6>
Introduction to the TIFF Documentation
</H1>
<P>
The following definitions are used throughout this documentation.
They are consistent with the terminology used in the TIFF 6.0 specification.
<DL>
<DT><I>Sample</I>
<DD>The unit of information stored in an image; often called a
channel elsewhere. Sample values are numbers, usually unsigned
integers, but possibly in some other format if the SampleFormat
tag is specified in a TIFF
<DT><I>Pixel</I>
<DD>A collection of one or more samples that go together.
<DT><I>Row</I>
<DD>An Nx1 rectangular collection of pixels.
<DT><I>Tile</I>
<DD>An NxM rectangular organization of data (or pixels).
<DT><I>Strip</I>
<DD>A tile whose width is the full image width.
<DT><I>Compression</I>
<DD>A scheme by which pixel or sample data are stored in
an encoded form, specifically with the intent of reducing the
storage cost.
<DT><I>Codec</I>
<DD>Software that implements the decoding and encoding algorithms
of a compression scheme.
</UL>
<P>
In order to better understand how TIFF works (and consequently this
software) it is important to recognize the distinction between the
physical organization of image data as it is stored in a TIFF and how
the data is interpreted and manipulated as pixels in an image. TIFF
supports a wide variety of storage and data compression schemes that
can be used to optimize retrieval time and/or minimize storage space.
These on-disk formats are independent of the image characteristics; it
is the responsibility of the TIFF reader to process the on-disk storage
into an in-memory format suitable for an application. Furthermore, it
is the responsibility of the application to properly interpret the
visual characteristics of the image data. TIFF defines a framework for
specifying the on-disk storage format and image characteristics with
few restrictions. This permits significant complexity that can be
daunting. Good applications that handle TIFF work by handling as wide
a range of storage formats as possible, while constraining the
acceptable image characteristics to those that make sense for the
application.
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+728
View File
@@ -0,0 +1,728 @@
<HTML>
<HEAD>
<TITLE>
Using The TIFF Library
</TITLE>
</HEAD>
<BODY BGCOLOR=WHITE>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/cat.gif WIDTH=113 HEIGHT=146 BORDER=2 ALIGN=left HSPACE=6>
Using The TIFF Library
</H1>
<P>
<TT>libtiff</TT> is a set of C functions (a library) that support
the manipulation of TIFF image files.
The library requires an ANSI C compilation environment for building
and presumes an ANSI C environment for use.
<P>
<TT>libtiff</TT>
provides interfaces to image data at several layers of abstraction (and cost).
At the highest level image data can be read into an 8-bit/sample,
ABGR pixel raster format without regard for the underlying data organization,
colorspace, or compression scheme. Below this high-level interface
the library provides scanline-, strip-, and tile-oriented interfaces that
return data decompressed but otherwise untransformed. These interfaces
require that the application first identify the organization of stored
data and select either a strip-based or tile-based API for manipulating
data. At the lowest level the library
provides access to the raw uncompressed strips or tiles,
returning the data exactly as it appears in the file.
<P>
The material presented in this chapter is a basic introduction
to the capabilities of the library; it is not an attempt to describe
everything a developer needs to know about the library or about TIFF.
Detailed information on the interfaces to the library are given in
the <A HREF="http://www-mipl.jpl.nasa.gov/~ndr/tiff/man/">
UNIX manual pages</A> that accompany this software.
<P>
The following sections are found in this chapter:
<UL>
<LI><A HREF=#Version>How to tell which version you have</A>
<LI><A HREF=#Typedefs>Library Datatypes</A>
<LI><A HREF=#Mman>Memory Management</A>
<LI><A HREF=#Errors>Error Handling</A>
<LI><A HREF=#FIO>Basic File Handling</A>
<LI><A HREF=#Dirs>TIFF Directories</A>
<LI><A HREF=#Tags>TIFF Tags</A>
<LI><A HREF=#Compression>TIFF Compression Schemes</A>
<LI><A HREF=#ByteOrder>Byte Order</A>
<LI><A HREF=#DataPlacement>Data Placement</A>
<LI><A HREF=#TIFFRGBAImage>TIFFRGBAImage Support</A>
<LI><A HREF=#Scanlines>Scanline-based Image I/O</A>
<LI><A HREF=#Strips>Strip-oriented Image I/O</A>
<LI><A HREF=#Tiles>Tile-oriented Image I/O</A>
<LI><A HREF=#Other>Other Stuff</A>
</UL>
<A NAME="Version"><P><HR WIDTH=65% ALIGN=right><H3>How to tell which version you have</H3></A>
The software version can be found by looking at the file named
<TT>VERSION</TT>
that is located at the top of the source tree; the precise alpha number
is given in the file <TT>dist/tiff.alpha</TT>.
If you have need to refer to this
specific software, you should identify it as:
<PRE>
TIFF &lt;<I>version</I>&gt; &lt;<I>alpha</I>&gt;
</PRE>
where &lt;<I>version</I>&gt; is whatever you get from
<KBD>"cat VERSION"</KBD> and &lt;<I>alpha</I>&gt; is
what you get from <KBD>"cat dist/tiff.alpha"</KBD>.
<P>
Within an application that uses <TT>libtiff</TT> the <TT>TIFFGetVersion</TT>
routine will return a pointer to a string that contains software version
information.
The library include file <TT>&lt;tiffio.h&gt;</TT> contains a C pre-processor
define <TT>TIFFLIB_VERSION</TT> that can be used to check library
version compatiblity at compile time.
<A NAME="Typedefs"><P><HR WIDTH=65% ALIGN=right><H3>Library Datatypes</H3></A>
<TT>libtiff</TT> defines a portable programming interface through the
use of a set of C type definitions.
These definitions, defined in in the files <B>tiff.h</B> and
<B>tiffio.h</B>,
isolate the <TT>libtiff</TT> API from the characteristics
of the underlying machine.
To insure portable code and correct operation, applications that use
<TT>libtiff</TT> should use the typedefs and follow the function
prototypes for the library API.
<A NAME="Mman"><P><HR WIDTH=65% ALIGN=right><H3>Memory Management</H3></A>
<TT>libtiff</TT> uses a machine-specific set of routines for managing
dynamically allocated memory.
<TT>_TIFFmalloc</TT>, <TT>_TIFFrealloc</TT>, and <TT>_TIFFfree</TT>
mimic the normal ANSI C routines.
Any dynamically allocated memory that is to be passed into the library
should be allocated using these interfaces in order to insure pointer
compatibility on machines with a segmented architecture.
(On 32-bit UNIX systems these routines just call the normal <TT>malloc</TT>,
<TT>realloc</TT>, and <TT>free</TT> routines in the C library.)
<P>
To deal with segmented pointer issues <TT>libtiff</TT> also provides
<TT>_TIFFmemcpy</TT>, <TT>_TIFFmemset</TT>, and <TT>_TIFFmemmove</TT>
routines that mimic the equivalent ANSI C routines, but that are
intended for use with memory allocated through <TT>_TIFFmalloc</TT>
and <TT>_TIFFrealloc</TT>.
<A NAME="Errors"><P><HR WIDTH=65% ALIGN=right><H3>Error Handling</H3></A>
<TT>libtiff</TT> handles most errors by returning an invalid/erroneous
value when returning from a function call.
Various diagnostic messages may also be generated by the library.
All error messages are directed to a single global error handler
routine that can be specified with a call to <TT>TIFFSetErrorHandler</TT>.
Likewise warning messages are directed to a single handler routine
that can be specified with a call to <TT>TIFFSetWarningHandler</TT>
<A NAME="FIO"><P><HR WIDTH=65% ALIGN=right><H3>Basic File Handling</H3></A>
The library is modeled after the normal UNIX stdio library.
For example, to read from an existing TIFF image the
file must first be opened:
<UL><LISTING>
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("foo.tif", "r");
... do stuff ...
TIFFClose(tif);
}
</LISTING></UL>
The handle returned by <TT>TIFFOpen</TT> is <I>opaque</I>, that is
the application is not permitted to know about its contents.
All subsequent library calls for this file must pass the handle
as an argument.
<P>
To create or overwrite a TIFF image the file is also opened, but with
a <TT>"w"</TT> argument:
<UL><LISTING>
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("foo.tif", "w");
... do stuff ...
TIFFClose(tif);
}
</LISTING></UL>
If the file already exists it is first truncated to zero length.
<P>
<IMG SRC=images/warning.gif ALIGN=left HSPACE=6>
<EM>Note that unlike the stdio library TIFF image files may not be
opened for both reading and writing;
there is no support for altering the contents of a TIFF file.
</EM>
<P>
<TT>libtiff</TT> buffers much information associated with writing a
valid TIFF image. Consequently, when writing a TIFF image it is necessary
to always call <TT>TIFFClose</TT> or <TT>TIFFFlush</TT> to flush any
buffered information to a file. Note that if you call <TT>TIFFClose</TT>
you do not need to call <TT>TIFFFlush</TT>.
<A NAME="Dirs"><P><HR WIDTH=65% ALIGN=right><H3>TIFF Directories</H3></A>
TIFF supports the storage of multiple images in a single file.
Each image has an associated data structure termed a <I>directory</I>
that houses all the information about the format and content of the
image data.
Images in a file are usually related but they do not need to be; it
is perfectly alright to store a color image together with a black and
white image.
Note however that while images may be related their directories are
not.
That is, each directory stands on its own; their is no need to read
an unrelated directory in order to properly interpret the contents
of an image.
<P>
<TT>libtiff</TT> provides several routines for reading and writing
directories. In normal use there is no need to explicitly
read or write a directory: the library automatically reads the first
directory in a file when opened for reading, and directory information
to be written is automatically accumulated and written when writing
(assuming <TT>TIFFClose</TT> or <TT>TIFFFlush</TT> are called).
<P>
For a file open for reading the <TT>TIFFSetDirectory</TT> routine can
be used to select an arbitrary directory; directories are referenced by
number with the numbering starting at 0. Otherwise the
<TT>TIFFReadDirectory</TT> and <TT>TIFFWriteDirectory</TT> routines can
be used for sequential access to directories.
For example, to count the number of directories in a file the following
code might be used:
<UL><LISTING>
#include "tiffio.h"
main(int argc, char* argv[])
{
TIFF* tif = TIFFOpen(argv[1], "r");
if (tif) {
int dircount = 0;
do {
dircount++;
} while (TIFFReadDirectory(tif));
printf("%d directories in %s\n", dircount, argv[1]);
TIFFClose(tif);
}
exit(0);
}
</LISTING></UL>
<P>
Finally, note that there are several routines for querying the
directory status of an open file:
<TT>TIFFCurrentDirectory</TT> returns the index of the current
directory and
<TT>TIFFLastDirectory</TT> returns an indication of whether the
current directory is the last directory in a file.
There is also a routine, <TT>TIFFPrintDirectory</TT>, that can
be called to print a formatted description of the contents of
the current directory; consult the manual page for complete details.
<A NAME="Tags"><P><HR WIDTH=65% ALIGN=right><H3>TIFF Tags</H3></A>
Image-related information such as the image width and height, number
of samples, orientation, colorimetric information, etc.
are stored in each image
directory in <I>fields</I> or <I>tags</I>.
Tags are identified by a number that is usually a value registered
with the Aldus (now Adobe) Corporation.
Beware however that some vendors write
TIFF images with tags that are unregistered; in this case interpreting
their contents is usually a waste of time.
<P>
<TT>libtiff</TT> reads the contents of a directory all at once
and converts the on-disk information to an appropriate in-memory
form. While the TIFF specification permits an arbitrary set of
tags to be defined and used in a file, the library only understands
a limited set of tags.
Any unknown tags that are encountered in a file are ignored.
There is a mechanism to extend the set of tags the library handles
without modifying the library itself;
this is described <A HREF=../contrib/tags/README>elsewhere</A>.
<P>
<TT>libtiff</TT> provides two interfaces for getting and setting tag
values: <TT>TIFFGetField</TT> and <TT>TIFFSetField</TT>.
These routines use a variable argument list-style interface to pass
parameters of different type through a single function interface.
The <I>get interface</I> takes one or more pointers to memory locations
where the tag values are to be returned and also returns one or
zero according to whether the requested tag is defined in the directory.
The <I>set interface</I> takes the tag values either by-reference or
by-value.
The TIFF specification defines
<I>default values</I> for some tags.
To get the value of a tag, or its default value if it is undefined,
the <TT>TIFFGetFieldDefaulted</TT> interface may be used.
<P>
The manual pages for the tag get and set routines specifiy the exact data types
and calling conventions required for each tag supported by the library.
<A NAME="Compression"><P><HR WIDTH=65% ALIGN=right><H3>TIFF Compression Schemes</H3></A>
<TT>libtiff</TT> includes support for a wide variety of
data compression schemes.
In normal operation a compression scheme is automatically used when
the TIFF <TT>Compression</TT> tag is set, either by opening a file
for reading, or by setting the tag when writing.
<P>
Compression schemes are implemented by software modules termed <I>codecs</I>
that implement decoder and encoder routines that hook into the
core library i/o support.
Codecs other than those bundled with the library can be registered
for use with the <TT>TIFFRegisterCODEC</TT> routine.
This interface can also be used to override the core-library
implementation for a compression scheme.
<A NAME="ByteOrder"><P><HR WIDTH=65% ALIGN=right><H3>Byte Order</H3></A>
The TIFF specification says, and has always said, that
<EM>a correct TIFF
reader must handle images in big-endian and little-endian byte order</EM>.
<TT>libtiff</TT> conforms in this respect.
Consequently there is no means to force a specific
byte order for the data written to a TIFF image file (data is
written in the native order of the host CPU unless appending to
an existing file, in which case it is written in the byte order
specified in the file).
<A NAME="DataPlacement"><P><HR WIDTH=65% ALIGN=right><H3>Data Placement</H3></A>
The TIFF specification requires that all information except an
8-byte header can be placed anywhere in a file.
In particular, it is perfectly legitimate for directory information
to be written after the image data itself.
Consequently TIFF is inherently not suitable for passing through a
stream-oriented mechanism such as UNIX pipes.
Software that require that data be organized in a file in a particular
order (e.g. directory information before image data) does not
correctly support TIFF.
<TT>libtiff</TT> provides no mechanism for controlling the placement
of data in a file; image data is typically written before directory
information.
<A NAME="TIFFRGBAImage"><P><HR WIDTH=65% ALIGN=right><H3>TIFFRGBAImage Support</H3></A>
<TT>libtiff</TT> provides a high-level interface for reading image
data from a TIFF file. This interface handles the details of
data organization and format for a wide variety of TIFF files;
at least the large majority of those files that one would normally
encounter. Image data is, by default, returned as ABGR
pixels packed into 32-bit words (8 bits per sample). Rectangular
rasters can be read or data can be intercepted at an intermediate
level and packed into memory in a format more suitable to the
application.
The library handles all the details of the format of data stored on
disk and, in most cases, if any colorspace conversions are required:
bilevel to RGB, greyscale to RGB, CMYK to RGB, YCbCr to RGB, 16-bit
samples to 8-bit samples, associated/unassociated alpha, etc.
<P>
There are two ways to read image data using this interface. If
all the data is to be stored in memory and manipulated at once,
then the routine <TT>TIFFReadRGBAImage</TT> can be used:
<UL><LISTING>
#include "tiffio.h"
main(int argc, char* argv[])
{
TIFF* tif = TIFFOpen(argv[1], "r");
if (tif) {
uint32 w, h;
size_t npixels;
uint32* raster;
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &w);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &h);
npixels = w * h;
raster = (uint32*) _TIFFmalloc(npixels * sizeof (uint32));
if (raster != NULL) {
if (TIFFReadRGBAImage(tif, w, h, raster, 0)) {
...process raster data...
}
_TIFFfree(raster);
}
TIFFClose(tif);
}
exit(0);
}
</LISTING></UL>
Note above that <TT>_TIFFmalloc</TT> is used to allocate memory for
the raster passed to <TT>TIFFReadRGBAImage</TT>; this is important
to insure the ``appropriate type of memory'' is passed on machines
with segmented architectures.
<P>
Alternatively, <TT>TIFFReadRGBAImage</TT> can be replaced with a
more low-level interface that permits an application to have more
control over this reading procedure. The equivalent to the above
is:
<UL><LISTING>
#include "tiffio.h"
main(int argc, char* argv[])
{
TIFF* tif = TIFFOpen(argv[1], "r");
if (tif) {
TIFFRGBAImage img;
char emsg[1024];
if (TIFFRGBAImageBegin(&img, tif, 0, emsg)) {
size_t npixels;
uint32* raster;
npixels = img.width * img.height;
raster = (uint32*) _TIFFmalloc(npixels * sizeof (uint32));
if (raster != NULL) {
if (TIFFRGBAImageGet(&img, raster, img.width, img.width)) {
...process raster data...
}
_TIFFfree(raster);
}
TIFFRGBAImageEnd(&img);
} else
TIFFError(argv[1], emsg);
TIFFClose(tif);
}
exit(0);
}
</LISTING></UL>
However this usage does not take advantage of the more fine-grained
control that's possible. That is, by using this interface it is
possible to:
<UL>
<LI>repeatedly fetch (and manipulate) an image without opening
and closing the file
<LI>interpose a method for packing raster pixel data according to
application-specific needs (or write the data at all)
<LI>interpose methods that handle TIFF formats that are not already
handled by the core library
</UL>
The first item means that, for example, image viewers that want to
handle multiple files can cache decoding information in order to
speedup the work required to display a TIFF image.
<P>
The second item is the main reason for this interface. By interposing
a ``put method'' (the routine that is called to pack pixel data in
the raster) it is possible share the core logic that understands how
to deal with TIFF while packing the resultant pixels in a format that
is optimized for the application. This alternate format might be very
different than the 8-bit per sample ABGR format the library writes by
default. For example, if the application is going to display the image
on an 8-bit colormap display the put routine might take the data and
convert it on-the-fly to the best colormap indices for display.
<P>
The last item permits an application to extend the library
without modifying the core code.
By overriding the code provided an application might add support
for some esoteric flavor of TIFF that it needs, or it might
substitute a packing routine that is able to do optimizations
using application/environment-specific information.
<P>
The TIFF image viewer found in <B>tools/sgigt.c</B> is an example
of an application that makes use of the <TT>TIFFRGBAImage</TT>
support.
<A NAME="Scanlines"><P><HR WIDTH=65% ALIGN=right><H3>Scanline-based Image I/O</H3></A>
The simplest interface provided by <TT>libtiff</TT> is a
scanline-oriented interface that can be used to read TIFF
images that have their image data organized in strips
(trying to use this interface to read data written in tiles
will produce errors.)
A scanline is a one pixel high row of image data whose width
is the width of the image.
Data is returned packed if the image data is stored with samples
packed together, or as arrays of separate samples if the data
is stored with samples separated.
The major limitation of the scanline-oriented interface, other
than the need to first identify an existing file as having a
suitable organization, is that random access to individual
scanlines can only be provided when data is not stored in a
compressed format, or when the number of rows in a strip
of image data is set to one (<TT>RowsPerStrip</TT> is one).
<P>
Two routines are provided for scanline-based i/o:
<TT>TIFFReadScanline</TT>
and
<TT>TIFFWriteScanline</TT>.
For example, to read the contents of a file that
is assumed to be organized in strips, the following might be used:
<UL><LISTING>
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
uint32 imagelength;
tdata_t buf;
uint32 row;
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
buf = _TIFFmalloc(TIFFScanlineSize(tif));
for (row = 0; row < imagelength; row++)
TIFFReadScanline(tif, buf, row);
_TIFFfree(buf);
TIFFClose(tif);
}
}
</LISTING></UL>
<TT>TIFFScanlineSize</TT> returns the number of bytes in
a decoded scanline, as returned by <TT>TIFFReadScanline</TT>.
Note however that if the file had been create with samples
written in separate planes, then the above code would only
read data that contained the first sample of each pixel;
to handle either case one might use the following instead:
<UL><LISTING>
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
uint32 imagelength;
tdata_t buf;
uint32 row;
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &config);
buf = _TIFFmalloc(TIFFScanlineSize(tif));
if (config == PLANARCONFIG_CONTIG) {
for (row = 0; row < imagelength; row++)
TIFFReadScanline(tif, buf, row);
} else if (config == PLANARCONFIG_SEPARATE) {
uint16 s, nsamples;
TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &nsamples);
for (s = 0; s < nsamples; s++)
for (row = 0; row < imagelength; row++)
TIFFReadScanline(tif, buf, row, s);
}
_TIFFfree(buf);
TIFFClose(tif);
}
}
</LISTING></UL>
Beware however that if the following code were used instead to
read data in the case <TT>PLANARCONFIG_SEPARATE</TT>,
<UL><LISTING>
for (row = 0; row < imagelength; row++)
for (s = 0; s < nsamples; s++)
TIFFReadScanline(tif, buf, row, s);
</LISTING></UL>
then problems would arise if <TT>RowsPerStrip</TT> was not one
because the order in which scanlines are requested would require
random access to data within strips (something that is not supported
by the library when strips are compressed).
<A NAME="Strips"><P><HR WIDTH=65% ALIGN=right><H3>Strip-oriented Image I/O</H3></A>
The strip-oriented interfaces provided by the library provide
access to entire strips of data. Unlike the scanline-oriented
calls, data can be read or written compressed or uncompressed.
Accessing data at a strip (or tile) level is often desirable
because there are no complications with regard to random access
to data within strips.
<P>
A simple example of reading an image by strips is:
<UL><LISTING>
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
tdata_t buf;
tstrip_t strip;
buf = _TIFFmalloc(TIFFStripSize(tif));
for (strip = 0; strip < TIFFNumberOfStrips(tif); strip++)
TIFFReadEncodedStrip(tif, strip, buf, (tsize_t) -1);
_TIFFfree(buf);
TIFFClose(tif);
}
}
</LISTING></UL>
Notice how a strip size of <TT>-1</TT> is used; <TT>TIFFReadEncodedStrip</TT>
will calculate the appropriate size in this case.
<P>
The above code reads strips in the order in which the
data is physically stored in the file. If multiple samples
are present and data is stored with <TT>PLANARCONFIG_SEPARATE</TT>
then all the strips of data holding the first sample will be
read, followed by strips for the second sample, etc.
<P>
Finally, note that the last strip of data in an image may have fewer
rows in it than specified by the <TT>RowsPerStrip</TT> tag. A
reader should not assume that each decoded strip contains a full
set of rows in it.
<P>
The following is an example of how to read raw strips of data from
a file:
<UL><LISTING>
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
tdata_t buf;
tstrip_t strip;
uint32* bc;
uint32 stripsize;
TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc);
stripsize = bc[0];
buf = _TIFFmalloc(stripsize);
for (strip = 0; strip < TIFFNumberOfStrips(tif); strip++) {
if (bc[strip] > stripsize) {
buf = _TIFFrealloc(buf, bc[strip]);
stripsize = bc[strip];
}
TIFFReadRawStrip(tif, strip, buf, bc[strip]);
}
_TIFFfree(buf);
TIFFClose(tif);
}
}
</LISTING></UL>
As above the strips are read in the order in which they are
physically stored in the file; this may be different from the
logical ordering expected by an application.
<A NAME="Tiles"><P><HR WIDTH=65% ALIGN=right><H3>Tile-oriented Image I/O</H3></A>
Tiles of data may be read and written in a manner similar to strips.
With this interface, an image is
broken up into a set of rectangular areas that may have dimensions
less than the image width and height. All the tiles
in an image have the same size, and the tile width and length must each
be a multiple of 16 pixels. Tiles are ordered left-to-right and
top-to-bottom in an image. As for scanlines, samples can be packed
contiguously or separately. When separated, all the tiles for a sample
are colocated in the file. That is, all the tiles for sample 0 appear
before the tiles for sample 1, etc.
<P>
Tiles and strips may also be extended in a z dimension to form
volumes. Data volumes are organized as "slices". That is, all the
data for a slice is colocated. Volumes whose data is organized in
tiles can also have a tile depth so that data can be organized in
cubes.
<P>
There are actually two interfaces for tiles.
One interface is similar to scanlines, to read a tiled image,
code of the following sort might be used:
<UL><LISTING>
main()
{
TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
uint32 imageWidth, imageLength;
uint32 tileWidth, tileLength;
uint32 x, y;
tdata_t buf;
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
buf = _TIFFmalloc(TIFFTileSize(tif));
for (y = 0; y < imageLength; y += tileLength)
for (x = 0; x < imageWidth; x += tileWidth)
TIFFReadTile(tif, buf, x, y, 0);
_TIFFfree(buf);
TIFFClose(tif);
}
}
</LISTING></UL>
(once again, we assume samples are packed contiguously.)
<P>
Alternatively a direct interface to the low-level data is provided
a la strips. Tiles can be read with
<TT>TIFFReadEncodedTile</TT> or
<TT>TIFFReadRawTile</TT>,
and written with
<TT>TIFFWriteEncodedTile</TT> or
<TT>TIFFWriteRawTile</TT>.
For example, to read all the tiles in an image:
<UL><LISTING>
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
tdata_t buf;
ttile_t tile;
buf = _TIFFmalloc(TIFFTileSize(tif));
for (tile = 0; tile < TIFFNumberOfTiles(tif); tile++)
TIFFReadEncodedTile(tif, tile, buf, (tsize_t) -1);
_TIFFfree(buf);
TIFFClose(tif);
}
}
</LISTING></UL>
<A NAME="Other"><P><HR WIDTH=65% ALIGN=right><H3>Other Stuff</H3></A>
<P>
<I>Some other stuff will almost certainly go here...</I>
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+69
View File
@@ -0,0 +1,69 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFClose</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFClose</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: May 2, 1990<BR><A HREF="#index">Index</A>
<BR><A HREF=index.html>Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFClose - close a previously opened
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>void TIFFClose(TIFF* tif)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFClose</I>
closes a file that was previously opened with
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T).
Any buffered data are flushed to the file, including the contents of
the current directory (if modified); and all resources
are reclaimed.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
Likewise, warning messages are directed to the
<I><A HREF="TIFFWarning.3t.html">TIFFWarning</A></I>(3T)
routine.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF=index.html>man2html</A>,
using the manual pages.<BR>
Time: 01:31:37 GMT, November 23, 1999
</BODY>
</HTML>
+97
View File
@@ -0,0 +1,97 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFError</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFError</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFError, TIFFSetErrorHandler - library error handling interface
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>void TIFFError(const char* module, const char* fmt, ...)</B>
<P>
<B>#include &lt;<A HREF="file:/usr/include/stdarg.h">stdarg.h</A>&gt;</B>
<BR>
<B>typedef void (*TIFFErrorHandler)(const char* module, const char* fmt, va_list ap);</B>
<BR>
<B>TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler handler);</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFError</I>
invokes the library-wide error handling function
to (normally) write an error message to the
<B>stderr</B>.
The
<I>fmt</I>
parameter is a
<I><A HREF="printf.3s.html">printf</A></I>(3S)
format string, and any number arguments can be supplied.
The
<I>module</I>
parameter, if non-zero, is printed before the message; it typically
is used to identify the software module in which an error
is detected.
<P>
Applications that desire to capture control in the event of an error
should use
<I>TIFFSetErrorHandler</I>
to override the default error handler.
A
<FONT SIZE="-1">NULL</FONT>
(0) error handling function may be installed to
suppress error messages.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
<I>TIFFSetErrorHandler</I>
returns a reference to the previous error handling function.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFWarning.3t.html">TIFFWarning</A></I>(3T),
<I><A HREF="printf.3s.html">printf</A></I>(3S)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:37 GMT, November 23, 1999
</BODY>
</HTML>
+93
View File
@@ -0,0 +1,93 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFFlush</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFFlush</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 16, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFFlush, TIFFFlushData - flush pending writes to an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFFlush(TIFF* tif)</B>
<BR>
<B>int TIFFFlushData(TIFF* tif)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFFlush</I>
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.
<P>
<I>TIFFFlushData</I>
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.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
0 is returned if an error is encountered, otherwise 1 is returned.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFWriteEncodedStrip.3t.html">TIFFWriteEncodedStrip</A></I>(3T),
<I><A HREF="TIFFWriteEncodedTile.3t.html">TIFFWriteEncodedTile</A></I>(3T),
<I><A HREF="TIFFWriteRawStrip.3t.html">TIFFWriteRawStrip</A></I>(3T),
<I><A HREF="TIFFWriteRawTile.3t.html">TIFFWriteRawTile</A></I>(3T),
<I><A HREF="TIFFWriteScanline.3t.html">TIFFWriteScanline</A></I>(3T),
<I><A HREF="TIFFWriteTile.3t.html">TIFFWriteTile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:37 GMT, November 23, 1999
</BODY>
</HTML>
+266
View File
@@ -0,0 +1,266 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFGetField</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFGetField</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: August 22, 1997<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFGetField, TIFFVGetField - get the value(s) of a tag in an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFGetField(TIFF* tif, ttag_t tag, ...)</B>
<P>
<B>#include &lt;<A HREF="file:/usr/include/stdarg.h">stdarg.h</A>&gt;</B>
<BR>
<B>int TIFFVGetField(TIFF* tif, ttag_t tag, va_list ap)</B>
<P>
<B>int TIFFGetFieldDefaulted(TIFF* tif, ttag_t tag, ...)</B>
<BR>
<B>int TIFFVGetFieldDefaulted(TIFF* tif, ttag_t tag, va_list ap)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFGetField</I>
returns the value of a tag or pseudo-tag associated with the
the current directory of the open
<FONT SIZE="-1">TIFF</FONT>
file
<I>tif</I>.
(A
<I>pseudo-tag </I>
is a parameter that is used to control the operation of the
<FONT SIZE="-1">TIFF</FONT>
library but whose value is not read or written to the underlying file.)
The file must have been previously opened with
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T).
The tag is identified by
<I>tag</I>,
one of the values defined in the include file
<B>tiff.h</B>
(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
<I><A HREF="stdarg+3">stdarg</A></I>(3)
interface.
The returned values should only be interpreted if
<I>TIFFGetField</I>
returns 1.
<P>
<I>TIFFVGetField</I>
is functionally equivalent to
<I>TIFFGetField</I>
except that it takes a pointer to a variable
argument list.
<I>TIFFVGetField</I>
is useful for layering interfaces on top of
the functionality provided by
<I>TIFFGetField</I>.
<P>
<I>TIFFGetFieldDefaulted</I>
and
<I>TIFFVGetFieldDefaulted</I>
are identical to
<I>TIFFGetField</I>
and
<I>TIFFVGetField</I>,
except that if a tag is not defined in the current directory
and it has a default value, then the default value is returned.
<P>
The tags understood by
<I>libtiff</I>,
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
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T).
Remember that
<I>TIFFGetField</I>
returns parameter values, so all the listed
data types are pointers to storage where values
should be returned.
Consult the
<FONT SIZE="-1">TIFF</FONT>
specification for information on the meaning of
each tag and their possible values.
<P>
<PRE>
<I>Tag Name</I> <I>Count</I> <I>Types</I> <I>Notes</I>
TIFFTAG_ARTIST 1 char**
TIFFTAG_BADFAXLINES 1 uint32*
TIFFTAG_BITSPERSAMPLE 1 uint16*
TIFFTAG_CLEANFAXDATA 1 uint16*
TIFFTAG_COLORMAP 3 uint16** 1&lt;&lt;BitsPerSample arrays
TIFFTAG_COMPRESSION 1 uint16*
TIFFTAG_CONSECUTIVEBADFAXLINES 1 uint32*
TIFFTAG_DATATYPE 1 uint16*
TIFFTAG_DATETIME 1 char**
TIFFTAG_DOCUMENTNAME 1 char**
TIFFTAG_DOTRANGE 2 uint16*
TIFFTAG_EXTRASAMPLES 2 uint16*,uint16** count &amp; 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 u_short*,void** count &amp; 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 &amp; 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+ uint16**1&lt;&lt;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 datadd
</PRE>
+ If
<I>SamplesPerPixel</I>
is one, then a single array is returned; otherwise three arrays are
returned.
dd The contents of this field are quite complex. See
<I>The ICC Profile Format Specification</I>,
Annex B.3 &quot;Embedding ICC Profiles in TIFF Files&quot;
(available at <A HREF="http://www.color.org)">http://www.color.org)</A> for an explanation.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
1 is returned if the tag is defined in the current
directory; otherwise a 0 is returned.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>Unknown field, tag 0x%x</B>.
An unknown tag was supplied.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T),
<I><A HREF="TIFFSetDirectory.3t.html">TIFFSetDirectory</A></I>(3T),
<I><A HREF="TIFFReadDirectory.3t.html">TIFFReadDirectory</A></I>(3T),
<I><A HREF="TIFFWriteDirectory.3t.html">TIFFWriteDirectory</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:37 GMT, November 23, 1999
</BODY>
</HTML>
+361
View File
@@ -0,0 +1,361 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFOpen</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFOpen</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: January 9, 1996<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFOpen, TIFFFdOpen, TIFFClientOpen - open a
<FONT SIZE="-1">TIFF</FONT>
file for reading or writing
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>TIFF* TIFFOpen(const char* filename, const char* mode)</B>
<B>TIFF* TIFFFdOpen(const int fd, const char* filename, const char* mode)</B>
<B>typedef tsize_t (*TIFFReadWriteProc)(thandle_t, tdata_t, tsize_t);</B>
<B>typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int);</B>
<B>typedef int (*TIFFCloseProc)(thandle_t);</B>
<B>typedef toff_t (*TIFFSizeProc)(thandle_t);</B>
<B>typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*, toff_t*);</B>
<B>typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t);</B>
<B>TIFF* TIFFClientOpen(const char* filename, const char* mode, thandle_t clientdata,</B>
<B> TIFFReadWriteProc readproc, TIFFReadWriteProc writeproc, TIFFSeekProc seekproc,</B>
<B> TIFFCloseProc closeproc, TIFFSizeProc sizeproc, TIFFMapFileProc mapproc,</B>
<B> TIFFUnmapFileProc unmapproc)</B>
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFOpen</I>
opens a
<FONT SIZE="-1">TIFF</FONT>
file whose name is
<I>filename</I>
and returns a handle to be used in subsequent calls to routines in
<I>libtiff</I>.
If the open operation fails, then zero is returned.
The
<I>mode</I>
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.
<P>
If a file is opened for reading, the first
<FONT SIZE="-1">TIFF</FONT>
directory in the file is automatically read
(also see
<I><A HREF="TIFFSetDirectory.3t.html">TIFFSetDirectory</A></I>(3T)
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
<FONT SIZE="-1">TIFF</FONT>
Revision 6.0:
<I>BitsPerSample</I>=1,
<I>ThreshHolding</I>=bilevel art scan,
<I>FillOrder</I>=1
(most significant bit of each data byte is filled first),
<I>Orientation</I>=1
(the 0th row represents the visual top of the image, and the 0th
column represents the visual left hand side),
<I>SamplesPerPixel</I>=1,
<I>RowsPerStrip</I>=infinity,
<I>ResolutionUnit</I>=2
(inches), and
<I>Compression</I>=1
(no compression).
To alter these values, or to define values for additional fields,
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
must be used.
<P>
<I>TIFFFdOpen</I>
is like
<I>TIFFOpen</I>
except that it opens a
<FONT SIZE="-1">TIFF</FONT>
file given an open file descriptor
<I>fd</I>.
The file's name and mode must reflect that of the open descriptor.
The object associated with the file descriptor
<B>must support random access</B>.
<P>
<I>TIFFClientOpen</I>
is like
<I>TIFFOpen</I>
except that the caller supplies a collection of functions that the
library will use to do <FONT SIZE="-1">UNIX</FONT>-like I/O operations.
The
<I>readproc</I>
and
<I>writeproc</I>
are called to read and write data at the current file position.
<I>seekproc</I>
is called to change the current file position a la
<I><A HREF="lseek+2">lseek</A></I>(2).
<I>closeproc</I>
is invoked to release any resources associated with an open file.
<I>sizeproc</I>
is invoked to obtain the size in bytes of a file.
<I>mapproc</I>
and
<I>unmapproc</I>
are called to map and unmap a file's contents in memory; c.f.
<I><A HREF="mmap+2">mmap</A></I>(2)
and
<I><A HREF="munmap+2">munmap</A></I>(2).
The
<I>clientdata</I>
parameter is an opaque ``handle'' passed to the client-specified
routines passed as parameters to
<I>TIFFClientOpen</I>.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
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.
<DL COMPACT>
<DT><B>l</B>
<DD>
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
<FONT SIZE="-1">CPU</FONT>
byte order.
<DT><B>b</B>
<DD>
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
<FONT SIZE="-1">CPU</FONT>
byte order.
<DT><B>L</B>
<DD>
Force image data that is read or written to be treated with
bits filled from Least Significant Bit (<FONT SIZE="-1">LSB</FONT>) to
Most Significant Bit (<FONT SIZE="-1">MSB</FONT>).
Note that this is the opposite to the way the library has
worked from its inception.
<DT><B>B</B>
<DD>
Force image data that is read or written to be treated with
bits filled from Most Significant Bit (<FONT SIZE="-1">MSB</FONT>) to
Least Significant Bit (<FONT SIZE="-1">LSB</FONT>); this is the default.
<DT><B>H</B>
<DD>
Force image data that is read or written to be treated with
bits filled in the same order as the native
<FONT SIZE="-1">CPU.</FONT>
<DT><B>M</B>
<DD>
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.
<DT><B>m</B>
<DD>
Disable the use of memory-mapped files.
<DT><B>C</B>
<DD>
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.
<DT><B>c</B>
<DD>
Disable the use of strip chopping when reading images.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BYTE ORDER</H2>
The
<FONT SIZE="-1">TIFF</FONT>
specification (<B>all versions</B>) states that compliant readers
<I>must be capable of reading images written in either byte order</I>.
Nonetheless some software that claims to support the reading of
<FONT SIZE="-1">TIFF</FONT>
images is incapable of reading images in anything but the native
<FONT SIZE="-1">CPU</FONT>
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
<FONT SIZE="-1">CPU</FONT>
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''.
<A NAME="lbAG">&nbsp;</A>
<H2>RETURN VALUES</H2>
Upon successful completion
<I>TIFFOpen</I>,
<I>TIFFFdOpen</I>,
and
<I>TIFFClientOpen</I>
return a
<FONT SIZE="-1">TIFF</FONT>
pointer.
Otherwise, NULL is returned.
<A NAME="lbAH">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
Likewise, warning messages are directed to the
<I><A HREF="TIFFWarning.3t.html">TIFFWarning</A></I>(3T)
routine.
<P>
<B>&quot;%s&quot;: Bad mode</B>.
The specified
<I>mode</I>
parameter was not one of ``r'' (read), ``w'' (write), or ``a'' (append).
<P>
<B>%s: Cannot open</B>.
<I>TIFFOpen</I>()
was unable to open the specified filename for read/writing.
<P>
<B>Cannot read TIFF header</B>.
An error occurred while attempting to read the header information.
<P>
<B>Error writing TIFF header</B>.
An error occurred while writing the default header information
for a new file.
<P>
<B>Not a TIFF file, bad magic number %d (0x%x)</B>.
The magic number in the header was not (hex)
0x4d4d or (hex) 0x4949.
<P>
<B>Not a TIFF file, bad version number %d (0x%x)</B>.
The version field in the header was not 42 (decimal).
<P>
<B>Cannot append to file that has opposite byte ordering</B>.
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.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFClose.3t.html">TIFFClose</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BYTE ORDER</A><DD>
<DT><A HREF="#lbAG">RETURN VALUES</A><DD>
<DT><A HREF="#lbAH">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:37 GMT, November 23, 1999
</BODY>
</HTML>
+100
View File
@@ -0,0 +1,100 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFPrintDirectory</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFPrintDirectory</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 12, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFPrintDirectory - print a description of a
<FONT SIZE="-1">TIFF</FONT>
directory
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>void TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFPrintDirectory</I>
prints a description of the current directory in the specified
<FONT SIZE="-1">TIFF</FONT>
file to the standard I/O output stream
<I>fd</I>.
The
<I>flags</I>
parameter is used to control the
<I>level of detail</I>
of the printed information; it is a bit-or of the flags
defined in
<B>tiffio.h</B>:
<P>
<PRE>
#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 */
</PRE>
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
In C++ the
<I>flags</I>
parameter defaults to 0.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
None.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
None.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadDirectory.3t.html">TIFFReadDirectory</A></I>(3T),
<I><A HREF="TIFFSetDirectory.3t.html">TIFFSetDirectory</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:37 GMT, November 23, 1999
</BODY>
</HTML>
+370
View File
@@ -0,0 +1,370 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFRGBAImage</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFRGBAImage</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFRGBAImage - read and decode an image into a raster
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>typedef unsigned char TIFFRGBValue;</B>
<B>typedef struct _TIFFRGBAImage TIFFRGBAImage;</B>
<B>int TIFFRGBAImageOK(TIFF* tif, char emsg[1024]);</B>
<B>int TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int stopOnError, char emsg[1024]);</B>
<B>int TIFFRGBAImageGet(TIFFRGBAImage* img, uint32* raster, uint32 width, uint32 height);</B>
<B>void TIFFRGBAImageEnd(TIFFRGBAImage* img);</B>
</PRE><A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
The routines described here provide a high-level interface
through which
<FONT SIZE="-1">TIFF</FONT>
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</I>
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.
<P>
The default usage for these routines is: check if an image can
be processed using
<I>TIFFRGBAImageOK</I>,
construct a decoder state block using
<I>TIFFRGBAImageBegin</I>,
read and decode an image into a target raster using
<I>TIFFRGBAImageGet</I>,
and then
release resources using
<I>TIFFRGBAImageEnd</I>.
<I>TIFFRGBAImageGet</I>
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</I>
as needed to display an image.
<P>
The generated raster is assumed to be an array of
<I>width</I>
times
<I>height</I>
32-bit entries, where
<I>width</I>
must be less than or equal to the width of the image (<I>height</I>
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 (<I>x</I>,<I>y</I>) is <I>raster</I>[<I>y</I>*<I>width</I>+<I>x</I>];
with the raster origin in the lower-left hand corner.)
<P>
Raster pixels are 8-bit packed red, green, blue, alpha samples.
The macros
<I>TIFFGetR</I>,
<I>TIFFGetG</I>,
<I>TIFFGetB</I>,
and
<I>TIFFGetA</I>
should be used to access individual samples.
Images without Associated Alpha matting information have a constant
Alpha of 1.0 (255).
<P>
<I>TIFFRGBAImageGet</I>
converts non-8-bit images by scaling sample values.
Palette, grayscale, bilevel,
<FONT SIZE="-1">CMYK</FONT>, and YCbCr images are converted to
<FONT SIZE="-1">RGB</FONT>
transparently.
Raster pixels are returned uncorrected by any colorimetry information
present in the directory.
<P>
The paramater
<I>stopOnError</I>
specifies how to act if an error is encountered while reading
the image.
If
<I>stopOnError</I>
is non-zero, then an error will terminate the operation; otherwise
<I>TIFFRGBAImageGet</I>
will continue processing data until all the possible data in the
image have been requested.
<A NAME="lbAE">&nbsp;</A>
<H2>ALTERNATE RASTER FORMATS</H2>
To use the core support for reading and processing
<FONT SIZE="-1">TIFF</FONT>
images, but write the resulting raster data in a different format
one need only override the ``<I>put methods</I>'' used to store raster data.
These methods are are defined in the
<I>TIFFRGBAImage</I>
structure and initially setup by
<I>TIFFRGBAImageBegin</I>
to point to routines that pack raster data in the default
<FONT SIZE="-1">ABGR</FONT>
pixel format.
Two different routines are used according to the physical organization
of the image data in the file:
<I>PlanarConfiguration</I>=1
(packed samples),
and
<I>PlanarConfiguration</I>=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.
<A NAME="lbAF">&nbsp;</A>
<H2>SIMULTANEOUS RASTER STORE AND DISPLAY</H2>
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</I>
and then invoke them before or after each display operation.
For example, the
<I><A HREF="tiffgt+1.html">tiffgt</A></I>(1)
utility uses the following put method to update the display as
the raster is being filled:
<P>
<PRE>
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-&gt;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);
}
}
</PRE>
<P>
(the original routine provided by the library is saved in the
variable
<I>putContig</I>.)
<A NAME="lbAG">&nbsp;</A>
<H2>SUPPORTING ADDITIONAL TIFF FORMATS</H2>
The
<I>TIFFRGBAImage</I>
routines support the most commonly encountered flavors of
<FONT SIZE="-1">TIFF.</FONT>
It is possible to extend this support by overriding the ``<I>get method</I>''
invoked by
<I>TIFFRGBAImageGet</I>
to read
<FONT SIZE="-1">TIFF</FONT>
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.
<A NAME="lbAH">&nbsp;</A>
<H2>NOTES</H2>
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</I>
minus
<I>ExtraSamples</I>).
<P>
Palettte image colormaps that appear to be incorrectly written
as 8-bit values are automatically scaled to 16-bits.
<A NAME="lbAI">&nbsp;</A>
<H2>RETURN VALUES</H2>
All routines return
1 if the operation was successful.
Otherwise, 0 is returned if an error was encountered and
<I>stopOnError</I>
is zero.
<A NAME="lbAJ">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>Sorry, can not handle %d-bit pictures</B>.
The image had
<I>BitsPerSample</I>
other than 1, 2, 4, 8, or 16.
<P>
<B>Sorry, can not handle %d-channel images</B>.
The image had
<I>SamplesPerPixel</I>
other than 1, 3, or 4.
<P>
<B>Missing needed &quot;PhotometricInterpretation&quot; tag</B>.
The image did not have a tag that describes how to display
the data.
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming RGB</B>.
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
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming min-is-black</B>.
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.
<P>
<B>No space for photometric conversion table</B>.
There was insufficient memory for a table used to convert
image samples to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>Missing required &quot;Colormap&quot; tag</B>.
A Palette image did not have a required
<I>Colormap</I>
tag.
<P>
<B>No space for tile buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>No space for strip buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>Can not handle format</B>.
The image has a format (combination of
<I>BitsPerSample</I>,
<I>SamplesPerPixel</I>,
and
<I>PhotometricInterpretation</I>)
that can not be handled.
<P>
<B>No space for B&amp;W mapping table</B>.
There was insufficient memory to allocate a table used to map
grayscale data to
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No space for Palette mapping table</B>.
There was insufficient memory to allocate a table used to map
data to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<A NAME="lbAK">&nbsp;</A>
<H2>BUGS</H2>
Orientations other than bottom-left, or top-left are
not handled correctly.
<A NAME="lbAL">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadRGBAImage.3t.html">TIFFReadRGBAImage</A></I>(3T),
<I><A HREF="TIFFReadRGBAStrip.3t.html">TIFFReadRGBAStrip</A></I>(3T),
<I><A HREF="TIFFReadRGBATile.3t.html">TIFFReadRGBATile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">ALTERNATE RASTER FORMATS</A><DD>
<DT><A HREF="#lbAF">SIMULTANEOUS RASTER STORE AND DISPLAY</A><DD>
<DT><A HREF="#lbAG">SUPPORTING ADDITIONAL TIFF FORMATS</A><DD>
<DT><A HREF="#lbAH">NOTES</A><DD>
<DT><A HREF="#lbAI">RETURN VALUES</A><DD>
<DT><A HREF="#lbAJ">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAK">BUGS</A><DD>
<DT><A HREF="#lbAL">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+212
View File
@@ -0,0 +1,212 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadDirectory</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadDirectory</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadDirectory - get the contents of the next directory in an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFReadDirectory(TIFF* tif)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Read the next directory in the specified file and make it the
current directory.
Applications only need to call
<I>TIFFReadDirectory</I>
to read multiple subfiles in a single
<FONT SIZE="-1">TIFF</FONT>
file-
the first directory in a file is automatically read when
<I>TIFFOpen</I>
is called.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
If the library is compiled with
<FONT SIZE="-1">STRIPCHOP_SUPPORT</FONT>
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</I>
[<I>TIFFNumberOfTiles</I>].
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
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.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
All warning messages are directed to the
<I><A HREF="TIFFWarning.3t.html">TIFFWarning</A></I>(3T)
routine.
<P>
<B>Seek error accessing TIFF directory</B>.
An error occurred while positioning to the location of the
directory.
<P>
<B>Wrong data type %d for field &quot;%s&quot;</B>.
The tag entry in the directory had an incorrect data type.
For example, an
<I>ImageDescription</I>
tag with a
<FONT SIZE="-1">SHORT</FONT>
data type.
<P>
<B>TIFF directory is missing required &quot;%s&quot; field</B>.
The specified tag is required to be present by the
<FONT SIZE="-1">TIFF</FONT>
5.0 specification, but is missing.
The directory is (usually) unusable.
<P>
<B>%s: Rational with zero denominator</B>.
A directory tag has a
<FONT SIZE="-1">RATIONAL</FONT>
value whose denominator is zero.
<P>
<B>Incorrect count %d for field &quot;%s&quot; (%lu, expecting %lu); tag ignored</B>.
The specified tag's count field is bad.
For example, a count other than 1 for a
<I>SubFileType</I>
tag.
<P>
<B>Cannot handle different per-sample values for field &quot;%s&quot;</B>.
The tag has
<I>SamplesPerPixel</I>
values and they are not all the same; e.g.
<I>BitsPerSample</I>.
The library is unable to handle images of this sort.
<P>
<B>Count mismatch for field &quot;%s&quot;; expecting %d, got %d</B>.
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.
<P>
<B>Invalid TIFF directory; tags are not sorted in ascending order</B>.
The directory tags are not properly sorted as specified
in the
<FONT SIZE="-1">TIFF</FONT>
5.0 specification.
This error is not fatal.
<P>
<B>Ignoring unknown field with tag %d (0x%x)</B>.
An unknown tag was encountered in the directory;
the library ignores all such tags.
<P>
<B>TIFF directory is missing requred &quot;ImageLength&quot; field</B>.
The image violates the specification by not having a necessary field.
There is no way for the library to recover from this error.
<P>
<B>TIFF directory is missing requred &quot;PlanarConfig&quot; field</B>.
The image violates the specification by not having a necessary field.
There is no way for the library to recover from this error.
<P>
<B>TIFF directory is missing requred &quot;StripOffsets&quot; field</B>.
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.
<P>
<B>TIFF directory is missing requred &quot;TileOffsets&quot; field</B>.
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.
<P>
<B>TIFF directory is missing required &quot;StripByteCounts&quot; field</B>.
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.
<P>
<B>TIFF directory is missing required &quot;StripByteCounts&quot; field, calculating from imagelength</B>.
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.
<P>
<B>Bogus &quot;StripByteCounts&quot; field, ignoring and calculating from imagelength</B>.
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.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFWriteDirectory.3t.html">TIFFWriteDirectory</A></I>(3T),
<I><A HREF="TIFFSetDirectory.3t.html">TIFFSetDirectory</A></I>(3T),
<I><A HREF="TIFFSetSubDirectory.3t.html">TIFFSetSubDirectory</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+103
View File
@@ -0,0 +1,103 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadEncodedStrip</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadEncodedStrip</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadEncodedStrip - read and decode a strip of data from an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFReadEncodedStrip(TIFF* tif, tstrip_t strip, tdata_t buf, tsize_t size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Read the specified strip of data and place up to
<I>size</I>
bytes of decompressed information in the (user supplied) data buffer.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
The value of
<I>strip</I>
is a ``raw strip number.''
That is, the caller must take into account whether or not the
data are organized in separate planes (<I>PlanarConfiguration</I>=2).
To read a full strip of data the data buffer should typically be
at least as large as the number returned by
<I><A HREF="TIFFStripSize.3t.html">TIFFStripSize</A></I>(3T).
<P>
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</I>
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,
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
The actual number of bytes of data that were placed in
<I>buf</I>
is returned;
<I>TIFFReadEncodedStrip</I>
returns -1 if an error was encountered.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadRawStrip.3t.html">TIFFReadRawStrip</A></I>(3T),
<I><A HREF="TIFFReadScanline.3t.html">TIFFReadScanline</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+107
View File
@@ -0,0 +1,107 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadEncodedTile</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadEncodedTile</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadEncodedTile - read and decode a tile of data from an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFReadEncodedTile(TIFF* tif, u_long tile, u_char* buf, u_long size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Read the specified tile of data and place up to
<I>size</I>
bytes of decompressed information in the (user supplied) data buffer.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
The value of
<I>tile</I>
is a ``raw tile number.''
That is, the caller must take into account whether or not the
data are organized in separate planes (<I>PlanarConfiguration</I>=2).
<I>TIFFComputeTile</I>
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
<I>TIFFTileSize</I>.
<P>
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</I>
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,
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
The actual number of bytes of data that were placed in
<I>buf</I>
is returned;
<I>TIFFReadEncodedTile</I>
returns -1 if an error was encountered.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadRawTile.3t.html">TIFFReadRawTile</A></I>(3T),
<I><A HREF="TIFFReadTile.3t.html">TIFFReadTile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+262
View File
@@ -0,0 +1,262 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadRGBAImage</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadRGBAImage</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: February 14, 1992<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadRGBAImage - read and decode an image into a fixed-format raster
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>#define TIFFGetR(abgr) ((abgr) &amp; 0xff)</B>
<B>#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff)</B>
<B>#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)</B>
<B>#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp; 0xff)</B>
<B>int TIFFReadRGBAImage(TIFF* tif, u_long width, u_long height, u_long* raster, int stopOnError)</B>
</PRE><A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFReadRGBAImage</I>
reads a strip- or tile-based image into memory, storing the<BR>
result in the user supplied
<I>raster</I>.
The raster is assumed to be an array of
<I>width</I>
times
<I>height</I>
32-bit entries, where
<I>width</I>
must be less than or equal to the width of the image (<I>height</I>
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 (<I>x</I>,<I>y</I>) is <I>raster</I>[<I>y</I>*<I>width</I>+<I>x</I>];
with the raster origin in the lower-left hand corner.)
<P>
Raster pixels are 8-bit packed red, green, blue, alpha samples.
The macros
<I>TIFFGetR</I>,
<I>TIFFGetG</I>,
<I>TIFFGetB</I>,
and
<I>TIFFGetA</I>
should be used to access individual samples.
Images without Associated Alpha matting information have a constant
Alpha of 1.0 (255).
<P>
<I>TIFFReadRGBAImage</I>
converts non-8-bit images by scaling sample values.
Palette, grayscale, bilevel,
<FONT SIZE="-1">CMYK</FONT>, and YCbCr images are converted to
<FONT SIZE="-1">RGB</FONT>
transparently.
Raster pixels are returned uncorrected by any colorimetry information
present in the directory.
<P>
The paramater
<I>stopOnError</I>
specifies how to act if an error is encountered while reading
the image.
If
<I>stopOnError</I>
is non-zero, then an error will terminate the operation; otherwise
<I>TIFFReadRGBAImage</I>
will continue processing data until all the possible data in the
image have been requested.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
In C++ the
<I>stopOnError</I>
parameter defaults to 0.
<P>
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</I>
minus
<I>ExtraSamples</I>).
<P>
Palettte image colormaps that appear to be incorrectly written
as 8-bit values are automatically scaled to 16-bits.
<P>
<I>TIFFReadRGBAImage</I>
is just a wrapper around the more general
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T)
facilities.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
1 is returned if the image was successfully read and converted.
Otherwise, 0 is returned if an error was encountered and
<I>stopOnError</I>
is zero.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>Sorry, can not handle %d-bit pictures</B>.
The image had
<I>BitsPerSample</I>
other than 1, 2, 4, 8, or 16.
<P>
<B>Sorry, can not handle %d-channel images</B>.
The image had
<I>SamplesPerPixel</I>
other than 1, 3, or 4.
<P>
<B>Missing needed &quot;PhotometricInterpretation&quot; tag</B>.
The image did not have a tag that describes how to display
the data.
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming RGB</B>.
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
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming min-is-black</B>.
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.
<P>
<B>No space for photometric conversion table</B>.
There was insufficient memory for a table used to convert
image samples to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>Missing required &quot;Colormap&quot; tag</B>.
A Palette image did not have a required
<I>Colormap</I>
tag.
<P>
<B>No space for tile buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>No space for strip buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>Can not handle format</B>.
The image has a format (combination of
<I>BitsPerSample</I>,
<I>SamplesPerPixel</I>,
and
<I>PhotometricInterpretation</I>)
that
<I>TIFFReadRGBAImage</I>
can not handle.
<P>
<B>No space for B&amp;W mapping table</B>.
There was insufficient memory to allocate a table used to map
grayscale data to
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No space for Palette mapping table</B>.
There was insufficient memory to allocate a table used to map
data to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<A NAME="lbAH">&nbsp;</A>
<H2>BUGS</H2>
Orientations other than bottom-left, or top-left are
not handled correctly.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T),
<I><A HREF="TIFFReadRGBAStrip.3t.html">TIFFReadRGBAStrip</A></I>(3T),
<I><A HREF="TIFFReadRGBATile.3t.html">TIFFReadRGBATile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">BUGS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+249
View File
@@ -0,0 +1,249 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadRGBAStrip</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadRGBAStrip</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 10, 1998<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadRGBAStrip - read and decode an image strip into a fixed-format raster
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>#define TIFFGetR(abgr) ((abgr) &amp; 0xff)</B>
<B>#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff)</B>
<B>#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)</B>
<B>#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp; 0xff)</B>
<B>int TIFFReadRGBAStrip(TIFF* tif, tstrip_t strip, uint32 * raster )</B>
</PRE><A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFReadRGBAStrip</I>
reads a single strip of a strip-based image into memory, <BR>
storing the result in the user supplied RGBA
<I>raster</I>.
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).
<P>
<P>
The
<I>strip</I>
value should be the strip number (strip zero is the first) as returned by the
<I>TIFFComputeStrip</I>
function, but always for sample 0.
<P>
<P>
Note that the raster is assume to be organized such that the pixel
at location (<I>x</I>,<I>y</I>) is <I>raster</I>[<I>y</I>*<I>width</I>+<I>x</I>];
with the raster origin in the
<I>lower-left hand corner</I>
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.
<P>
<P>
Raster pixels are 8-bit packed red, green, blue, alpha samples.
The macros
<I>TIFFGetR</I>,
<I>TIFFGetG</I>,
<I>TIFFGetB</I>,
and
<I>TIFFGetA</I>
should be used to access individual samples.
Images without Associated Alpha matting information have a constant
Alpha of 1.0 (255).
<P>
See the
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T)
page for more details on how various image types are converted to RGBA
values.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
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</I>
minus
<I>ExtraSamples</I>).
<P>
Palette image colormaps that appear to be incorrectly written
as 8-bit values are automatically scaled to 16-bits.
<P>
<I>TIFFReadRGBAStrip</I>
is just a wrapper around the more general
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T)
facilities. It's main advantage over the similar
<I>TIFFReadRGBAImage()</I>
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
<I>TIFFReadRGBATile()</I>
function does a similar operation for tiled images.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
1 is returned if the image was successfully read and converted.
Otherwise, 0 is returned if an error was encountered.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>Sorry, can not handle %d-bit pictures</B>.
The image had
<I>BitsPerSample</I>
other than 1, 2, 4, 8, or 16.
<P>
<B>Sorry, can not handle %d-channel images</B>.
The image had
<I>SamplesPerPixel</I>
other than 1, 3, or 4.
<P>
<B>Missing needed &quot;PhotometricInterpretation&quot; tag</B>.
The image did not have a tag that describes how to display
the data.
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming RGB</B>.
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
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming min-is-black</B>.
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.
<P>
<B>No space for photometric conversion table</B>.
There was insufficient memory for a table used to convert
image samples to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>Missing required &quot;Colormap&quot; tag</B>.
A Palette image did not have a required
<I>Colormap</I>
tag.
<P>
<B>No space for tile buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>No space for strip buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>Can not handle format</B>.
The image has a format (combination of
<I>BitsPerSample</I>,
<I>SamplesPerPixel</I>,
and
<I>PhotometricInterpretation</I>)
that
<I>TIFFReadRGBAImage</I>
can not handle.
<P>
<B>No space for B&amp;W mapping table</B>.
There was insufficient memory to allocate a table used to map
grayscale data to
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No space for Palette mapping table</B>.
There was insufficient memory to allocate a table used to map
data to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<A NAME="lbAH">&nbsp;</A>
<H2>BUGS</H2>
Orientations other than bottom-left, or top-left are
not handled correctly.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T),
<I><A HREF="TIFFReadRGBAImage.3t.html">TIFFReadRGBAImage</A></I>(3T),
<I><A HREF="TIFFReadRGBATile.3t.html">TIFFReadRGBATile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">BUGS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+251
View File
@@ -0,0 +1,251 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadRGBATile</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadRGBATile</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 10, 1998<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadRGBATile - read and decode an image tile into a fixed-format raster
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>#define TIFFGetR(abgr) ((abgr) &amp; 0xff)</B>
<B>#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff)</B>
<B>#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)</B>
<B>#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp; 0xff)</B>
<B>int TIFFReadRGBATile(TIFF* tif, uint32 x, uint32 y, uint32 * raster )</B>
</PRE><A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFReadRGBATile</I>
reads a single tile of a tile-based image into memory, <BR>
storing the result in the user supplied RGBA
<I>raster</I>.
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).
<P>
<P>
The
<I>x</I>
and
<I>y</I>
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.
<P>
<P>
Note that the raster is assume to be organized such that the pixel
at location (<I>x</I>,<I>y</I>) is <I>raster</I>[<I>y</I>*<I>width</I>+<I>x</I>];
with the raster origin in the
<I>lower-left hand corner</I>
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.
<P>
<P>
Raster pixels are 8-bit packed red, green, blue, alpha samples.
The macros
<I>TIFFGetR</I>,
<I>TIFFGetG</I>,
<I>TIFFGetB</I>,
and
<I>TIFFGetA</I>
should be used to access individual samples.
Images without Associated Alpha matting information have a constant
Alpha of 1.0 (255).
<P>
See the
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T)
page for more details on how various image types are converted to RGBA
values.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
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</I>
minus
<I>ExtraSamples</I>).
<P>
Palette image colormaps that appear to be incorrectly written
as 8-bit values are automatically scaled to 16-bits.
<P>
<I>TIFFReadRGBATile</I>
is just a wrapper around the more general
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T)
facilities. It's main advantage over the similar
<I>TIFFReadRGBAImage()</I>
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
<I>TIFFReadRGBAStrip()</I>
function does a similar operation for stripped images.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
1 is returned if the image was successfully read and converted.
Otherwise, 0 is returned if an error was encountered.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>Sorry, can not handle %d-bit pictures</B>.
The image had
<I>BitsPerSample</I>
other than 1, 2, 4, 8, or 16.
<P>
<B>Sorry, can not handle %d-channel images</B>.
The image had
<I>SamplesPerPixel</I>
other than 1, 3, or 4.
<P>
<B>Missing needed &quot;PhotometricInterpretation&quot; tag</B>.
The image did not have a tag that describes how to display
the data.
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming RGB</B>.
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
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No &quot;PhotometricInterpretation&quot; tag, assuming min-is-black</B>.
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.
<P>
<B>No space for photometric conversion table</B>.
There was insufficient memory for a table used to convert
image samples to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>Missing required &quot;Colormap&quot; tag</B>.
A Palette image did not have a required
<I>Colormap</I>
tag.
<P>
<B>No space for tile buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>No space for strip buffer</B>.
There was insufficient memory to allocate an i/o buffer.
<P>
<B>Can not handle format</B>.
The image has a format (combination of
<I>BitsPerSample</I>,
<I>SamplesPerPixel</I>,
and
<I>PhotometricInterpretation</I>)
that
<I>TIFFReadRGBAImage</I>
can not handle.
<P>
<B>No space for B&amp;W mapping table</B>.
There was insufficient memory to allocate a table used to map
grayscale data to
<FONT SIZE="-1">RGB.</FONT>
<P>
<B>No space for Palette mapping table</B>.
There was insufficient memory to allocate a table used to map
data to 8-bit
<FONT SIZE="-1">RGB.</FONT>
<A NAME="lbAH">&nbsp;</A>
<H2>BUGS</H2>
Orientations other than bottom-left, or top-left are
not handled correctly.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFRGBAImage.3t.html">TIFFRGBAImage</A></I>(3T),
<I><A HREF="TIFFReadRGBAImage.3t.html">TIFFReadRGBAImage</A></I>(3T),
<I><A HREF="TIFFReadRGBAStrip.3t.html">TIFFReadRGBAStrip</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">BUGS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+88
View File
@@ -0,0 +1,88 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadRawStrip</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadRawStrip</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadRawStrip - return the undecoded contents
of a strip of data from an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFReadRawStrip(TIFF* tif, tstrip_t strip, tdata_t buf, tsize_t size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Read the contents of the specified strip into the
(user supplied) data buffer.
Note that the value of
<I>strip</I>
is a ``raw strip number.''
That is, the caller must take into account whether or not the
data is organized in separate planes (<I>PlanarConfiguration</I>=2).
To read a full strip of data the data buffer should typically be
at least as large as the number returned by
<I>TIFFStripSize</I>.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
The actual number of bytes of data that were placed in
<I>buf</I>
is returned;
<I>TIFFReadEncodedStrip</I>
returns -1 if an error was encountered.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadEncodedStrip.3t.html">TIFFReadEncodedStrip</A></I>(3T),
<I><A HREF="TIFFReadScanline.3t.html">TIFFReadScanline</A></I>(3T),
<I><A HREF="TIFFStripSize.3t.html">TIFFStripSize</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+91
View File
@@ -0,0 +1,91 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadRawTile</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadRawTile</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadRawTile - return an undecoded tile of data from an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFReadRawTile(TIFF* tif, ttile_t tile, tdata_t buf, tsize_t size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Read the contents of the specified tile into the
(user supplied) data buffer.
Note that the value of
<I>tile</I>
is a ``raw tile number.''
That is, the caller must take into account whether or not the
data is organized in separate planes (<I>PlanarConfiguration</I>=2).
<I>TIFFComputeTile</I>
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
<I>TIFFTileSize</I>.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
The actual number of bytes of data that were placed in
<I>buf</I>
is returned;
<I>TIFFReadEncodedTile</I>
returns -1 if an error was encountered.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadEncodedTile.3t.html">TIFFReadEncodedTile</A></I>(3T),
<I><A HREF="TIFFReadTile.3t.html">TIFFReadTile</A></I>(3T),
<I><A HREF="TIFFTileSize.3t.html">TIFFTileSize</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+139
View File
@@ -0,0 +1,139 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadScanline</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadScanline</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadScanline - read and decode a scanline of data from an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFReadScanline(TIFF* tif, tdata_t buf, uint32 row, tsample_t sample)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Read the data for the specified row into the (user supplied)
data buffer
<I>buf</I>.
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
<I>TIFFScanlineSize</I>
to find out the size (in bytes) of a scanline buffer.
The
<I>row</I>
parameter is always used by
<I>TIFFReadScanline</I>;
the
<I>sample</I>
parameter is used only if data are organized in separate planes (<I>PlanarConfiguration</I>=2).
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
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</I>
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,
<P>
In C++ the
<I>sample</I>
parameter defaults to 0.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
<I>TIFFReadScanline</I>
returns -1 if it detects an error; otherwise 1 is returned.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>Compression algorithm does not support random access</B>.
Data was requested in a non-sequential order from a file that
uses a compression algorithm and that has
<I>RowsPerStrip</I>
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.
<A NAME="lbAH">&nbsp;</A>
<H2>BUGS</H2>
Reading subsampled YCbCR data does not work correctly
because, for
<I>PlanarConfiguration</I>=2
the size of a scanline is not calculated on a per-sample basis,
and for
<I>PlanarConfiguration</I>=1
the library does not unpack the block-interleaved samples; use
the strip- and tile-based interfaces to read these formats.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadEncodedStrip.3t.html">TIFFReadEncodedStrip</A></I>(3T),
<I><A HREF="TIFFReadRawStrip.3t.html">TIFFReadRawStrip</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">BUGS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+120
View File
@@ -0,0 +1,120 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFReadTile</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFReadTile</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 16, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadTile - read and decode a tile of data from an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFReadTile(TIFF* tif, tdata_t buf, uint32 x, uint32 y, uint32 z, tsample_t sample)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Return the data for the tile
<I>containing</I>
the specified coordinates.
The data placed in
<I>buf</I>
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
<I>TIFFTileSize</I>
to find out the size (in bytes) of a tile buffer.
The
<I>x</I>
and
<I>y</I>
parameters are always used by
<I>TIFFReadTile</I>.
The
<I>z</I>
parameter is used if the image is deeper than 1 slice (<I>ImageDepth</I>&gt;1).
The
<I>sample</I>
parameter is used only if data are organized in separate planes (<I>PlanarConfiguration</I>=2).
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
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</I>
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,
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
<I>TIFFReadTile</I>
returns -1 if it detects an error; otherwise the number of
bytes in the decoded tile is returned.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFCheckTile.3t.html">TIFFCheckTile</A></I>(3T),
<I><A HREF="TIFFComputeTile.3t.html">TIFFComputeTile</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadEncodedTile.3t.html">TIFFReadEncodedTile</A></I>(3T),
<I><A HREF="TIFFReadRawTile.3t.html">TIFFReadRawTile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+114
View File
@@ -0,0 +1,114 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFSetDirectory</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFSetDirectory</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFSetDirectory, TIFFSetSubDirectory - set the current directory for an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFSetDirectory(TIFF* tif, tdir_t dirnum)</B>
<BR>
<B>int TIFFSetSubDirectory(TIFF* tif, uint32 diroff)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFSetDirectory</I>
changes the current directory and reads its contents with
<I>TIFFReadDirectory</I>.
The parameter
<I>dirnum</I>
specifies the subfile/directory as an integer number, with
the first directory numbered zero.
<P>
<I>TIFFSetSubDirectory</I>
acts like
<I>TIFFSetDirectory</I>,
except the directory is specified as a
file offset instead of an index; this is required for accessing
subdirectories linked through a
<I>SubIFD</I>
tag.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
On successful return 1 is returned.
Otherwise, 0 is returned if
<I>dirnum</I>
or
<I>diroff</I>
specifies a non-existent directory, or if an error was
encountered while reading the directory's contents.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>%s: Error fetching directory count</B>.
An error was encountered while reading the ``directory count'' field.
<P>
<B>%s: Error fetching directory link</B>.
An error was encountered while reading the ``link value'' that
points to the next directory in a file.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFCurrentDirectory.3t.html">TIFFCurrentDirectory</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadDirectory.3t.html">TIFFReadDirectory</A></I>(3T),
<I><A HREF="TIFFWriteDirectory.3t.html">TIFFWriteDirectory</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+269
View File
@@ -0,0 +1,269 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFSetField</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFSetField</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: August 28, 1997<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFSetField - set the value(s) of a tag in a
<FONT SIZE="-1">TIFF</FONT>
file open for writing
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFSetField(TIFF* tif, ttag_t tag, ...)</B>
<BR>
<B>#include &lt;<A HREF="file:/usr/include/stdarg.h">stdarg.h</A>&gt;</B>
<BR>
<B>int TIFFVSetField(TIFF* tif, ttag_t tag, va_list ap)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFSetField</I>
sets the value of a field
or pseudo-tag in the current directory associated with
the open
<FONT SIZE="-1">TIFF</FONT>
file
<I>tif</I>.
(A
<I>pseudo-tag </I>
is a parameter that is used to control the operation of the
<FONT SIZE="-1">TIFF</FONT>
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
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T);
pseudo-tags can be set whether the file was opened for reading
or writing.
The field is identified by
<I>tag</I>,
one of the values defined in the include file
<B>tiff.h</B>
(see also the table below).
The actual value is specified using a variable argument list,
as prescribed by the
<I><A HREF="stdarg+3">stdarg</A></I>(3)
interface (or, on some machines, the
<I><A HREF="varargs+3">varargs</A></I>(3)
interface.)
<P>
<I>TIFFVSetField</I>
is functionally equivalent to
<I>TIFFSetField</I>
except that it takes a pointer to a variable
argument list.
<I>TIFFVSetField</I>
is useful for writing routines that are layered
on top of the functionality provided by
<I>TIFFSetField</I>.
<P>
The tags understood by
<I>libtiff</I>,
the number of parameter values, and the
expected types for the parameter values are shown below.
The data types are:
<I>char*</I>
is null-terminated string and corresponds to the
<FONT SIZE="-1">ASCII</FONT>
data type;
<I>uint16</I>
is an unsigned 16-bit value;
<I>uint32</I>
is an unsigned 32-bit value;
<I>uint16*</I>
is an array of unsigned 16-bit values.
<I>void*</I>
is an array of data values of unspecified type.
<P>
Consult the
<FONT SIZE="-1">TIFF</FONT>
specification for information on the meaning of each tag.
<P>
<PRE>
<I>Tag Name</I> <I>Count</I> <I>Types</I> <I>Notes</I>
TIFFTAG_ARTIST 1 char*
TIFFTAG_BADFAXLINES 1 uint32
TIFFTAG_BITSPERSAMPLE 1 uint16 +
TIFFTAG_CLEANFAXDATA 1 uint16
TIFFTAG_COLORMAP 3 uint16* 1&lt;&lt;BitsPerSample arrays
TIFFTAG_COMPRESSION 1 uint16 +
TIFFTAG_CONSECUTIVEBADFAXLINES 1 uint32
TIFFTAG_DATETIME 1 char*
TIFFTAG_DOCUMENTNAME 1 char*
TIFFTAG_DOTRANGE 2 uint16
TIFFTAG_EXTRASAMPLES 2 uint16,uint16* + count &amp; 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_IMAGEDESCRIPTION 1 char*
TIFFTAG_IMAGEDEPTH 1 uint32 +
TIFFTAG_IMAGELENGTH 1 uint32
TIFFTAG_IMAGEWIDTH 1 uint32 +
TIFFTAG_INKNAMES 1 char*
TIFFTAG_INKSET 1 uint16 +
TIFFTAG_JPEGTABLES 2 uint32*,void* + count &amp; 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 + must be &gt; 0
TIFFTAG_SAMPLEFORMAT 1 uint16 +
TIFFTAG_SAMPLESPERPIXEL 1 uint16 + value must be &lt;= 4
TIFFTAG_SMAXSAMPLEVALUE 1 double
TIFFTAG_SMINSAMPLEVALUE 1 double
TIFFTAG_SOFTWARE 1 char*
TIFFTAG_STONITS 1 double +
TIFFTAG_SUBFILETYPE 1 uint32
TIFFTAG_SUBIFD 2 uint16,uint32* count &amp; offsets array
TIFFTAG_TARGETPRINTER 1 char*
TIFFTAG_THRESHHOLDING 1 uint16
TIFFTAG_TILEDEPTH 1 uint32 +
TIFFTAG_TILELENGTH 1 uint32 + must be a multiple of 8
TIFFTAG_TILEWIDTH 1 uint32 + must be a multiple of 8
TIFFTAG_TRANSFERFUNCTION 1 or 3 dd uint16*1&lt;&lt;BitsPerSample entry arrays
TIFFTAG_XPOSITION 1 float
TIFFTAG_XRESOLUTION 1 float
TIFFTAG_WHITEPOINT 1 float* 2-entry array
TIFFTAG_YCBCRCOEFFICIENTS 1 float* + 3-entry array
TIFFTAG_YCBCRPOSITIONING 1 uint16 +
TIFFTAG_YCBCRSAMPLING 2 uint16 +
TIFFTAG_YPOSITION 1 float
TIFFTAG_YRESOLUTION 1 float
TIFFTAG_ICCPROFILE 2 uint32,void* count, profile data*
</PRE>
<P>
+ Tag may not have its values changed once data is written.
<BR>
dd
If
<I>SamplesPerPixel</I>
is one, then a single array is passed; otherwise three arrays should be
passed.
* The contents of this field are quite complex. See
<I>The ICC Profile Format Specification</I>,
Annex B.3 &quot;Embedding ICC Profiles in TIFF Files&quot;
(available at <A HREF="http://www.color.org)">http://www.color.org)</A> for an explanation.
<BR>
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
1 is returned if the tag is defined in the current
directory; otherwise a 0 is returned.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
1 is returned if the operation was successful.
Otherwise, 0 is returned if an error was detected.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>%s: Cannot modify tag &quot;%s&quot; while writing</B>.
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.
<P>
<B>%d: Bad value for &quot;%s&quot;</B>.
An invalid value was supplied for the named tag.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFGetField.3t.html">TIFFGetField</A></I>(3T),
<I><A HREF="TIFFSetDirectory.3t.html">TIFFSetDirectory</A></I>(3T),
<I><A HREF="TIFFWriteDirectory.3t.html">TIFFWriteDirectory</A></I>(3T),
<I><A HREF="TIFFReadDirectory.3t.html">TIFFReadDirectory</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+98
View File
@@ -0,0 +1,98 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWarning</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFWarning</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWarning, TIFFSetWarningHandler - library warning interface
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>void TIFFWarning(const char* module, const char* fmt, ...)</B>
<P>
<B>#include &lt;<A HREF="file:/usr/include/stdargh.h">stdargh.h</A>&gt;</B>
<BR>
<B>typedef void (*TIFFWarningHandler)(const char* module, const char* fmt, va_list ap);</B>
<BR>
<B>TIFFWarningHandler TIFFSetWarningHandler(TIFFWarningHandler handler);</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFWarning</I>
invokes the library-wide warning handler function
to (normally) write a warning message to the
<B>stderr</B>.
The
<I>fmt</I>
parameter is a
<I><A HREF="printf.3s.html">printf</A></I>(3S)
format string, and any number arguments can be supplied.
The
<I>module</I>
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.
<P>
Applications that desire to capture control in the event of a warning
should use
<I>TIFFSetWarningHandler</I>
to override the default warning handler.
A
<FONT SIZE="-1">NULL</FONT>
(0) warning handler function may be installed to
suppress error messages.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
<I>TIFFSetWarningHandler</I>
returns a reference to the previous error handling function.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T),
<I><A HREF="printf.3s.html">printf</A></I>(3S)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+148
View File
@@ -0,0 +1,148 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWriteDirectory</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFWriteDirectory</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 16, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWriteDirectory - write the current directory in an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFWriteDirectory(TIFF* tif)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
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
<I>TIFFWriteDirectory</I>
when writing multiple subfiles to a single
<FONT SIZE="-1">TIFF</FONT>
file.
<I>TIFFWriteDirectory</I>
is automatically called by
<I>TIFFClose</I>
and
<I>TIFFFlush</I>
to write a modified directory if the file is open for writing.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
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.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>Error post-encoding before directory write</B>.
Before writing the contents of the current directory, any pending
data are flushed.
This message indicates that an error occurred while doing this.
<P>
<B>Error flushing data before directory write</B>.
Before writing the contents of the current directory, any pending
data are flushed.
This message indicates that an error occurred while doing this.
<P>
<B>Cannot write directory, out of space</B>.
There was not enough space to allocate a temporary area for
the directory that was to be written.
<P>
<B>Error writing directory count</B>.
A write error occurred when writing the count of fields in the directory.
<P>
<B>Error writing directory contents</B>.
A write error occurred when writing the directory fields.
<P>
<B>Error writing directory link</B>.
A write error occurred when writing the link to the next directory.
<P>
<B>Error writing data for field &quot;%s&quot;</B>.
A write error occurred when writing indirect data for the specified field.
<P>
<B>Error writing TIFF header</B>.
A write error occurred when re-writing header at the front of the file.
<P>
<B>Error fetching directory count</B>.
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.
<P>
<B>Error fetching directory link</B>.
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.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T),
<I><A HREF="TIFFReadDirectory.3t.html">TIFFReadDirectory</A></I>(3T),
<I><A HREF="TIFFSetDirectory.3t.html">TIFFSetDirectory</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+147
View File
@@ -0,0 +1,147 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWriteEncodedStrip</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFWriteEncodedStrip</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWritedEncodedStrip - compress and write a strip of data to an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFWriteEncodedStrip(TIFF* tif, tstrip_t strip, tdata_t buf, tsize_t size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Compress
<I>size</I>
bytes of raw data from
<I>buf</I>
and write the result to the specified strip; replacing
any previously written data.
Note that the value of
<I>strip</I>
is a ``raw strip number.''
That is, the caller must take into account whether or not the
data are organized in separate places (<I>PlanarConfiguration</I>=2).
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
The library writes encoded data using the native machine byte order.
Correctly implemented
<FONT SIZE="-1">TIFF</FONT>
readers are expected to do any necessary byte-swapping to
correctly process image data with BitsPerSample greater than 8.
<P>
The strip number must be valid according to the current settings
of the
<I>ImageLength</I>
and
<I>RowsPerStrip</I>
tags.
An image may be dynamically grown by increasing the value of
<I>ImageLength</I>
prior to each call to
<I>TIFFWriteEncodedStrip</I>.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
-1 is returned if an error was encountered.
Otherwise, the value of
<I>size</I>
is returned.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>%s: File not open for writing</B>.
The file was opened for reading, not writing.
<P>
<B>Can not write scanlines to a tiled image</B>.
The image is assumed to be organized in tiles because the
<I>TileWidth</I>
and
<I>TileLength</I>
tags have been set with
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T).
<P>
<B>%s: Must set &quot;ImageWidth&quot; before writing data</B>.
The image's width has not be set before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: Must set &quot;PlanarConfiguration&quot; before writing data</B>.
The organization of data has not be defined before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: No space for strip arrays&quot;</B>.
There was not enough space for the arrays that hold strip
offsets and byte counts.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFWriteScanline.3t.html">TIFFWriteScanline</A></I>(3T),
<I><A HREF="TIFFWriteRawStrip.3t.html">TIFFWriteRawStrip</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+137
View File
@@ -0,0 +1,137 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWriteEncodedTile</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFWriteEncodedTile</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 16, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWritedEncodedTile - compress and write a tile of data to an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFWriteEncodedTile(TIFF* tif, ttile_t tile, tdata_t buf, tsize_t size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Compress
<I>size</I>
bytes of raw data from
<I>buf</I>
and
<B>append</B>
the result to the end of the specified tile.
Note that the value of
<I>tile</I>
is a ``raw tile number.''
That is, the caller must take into account whether or not the
data are organized in separate places (<I>PlanarConfiguration</I>=2).
<I>TIFFComputeTile</I>
automatically does this when converting an (x,y,z,sample)
coordinate quadruple to a tile number.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
The library writes encoded data using the native machine byte order.
Correctly implemented
<FONT SIZE="-1">TIFF</FONT>
readers are expected to do any necessary byte-swapping to
correctly process image data with BitsPerSample greater than 8.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
-1 is returned if an error was encountered.
Otherwise, the value of
<I>size</I>
is returned.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>%s: File not open for writing</B>.
The file was opened for reading, not writing.
<P>
<B>Can not write tiles to a stripped image</B>.
The image is assumed to be organized in strips because neither of the
<I>TileWidth</I>
or
<I>TileLength</I>
tags have been set with
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T).
<P>
<B>%s: Must set &quot;ImageWidth&quot; before writing data</B>.
The image's width has not be set before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: Must set &quot;PlanarConfiguration&quot; before writing data</B>.
The organization of data has not be defined before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: No space for tile arrays&quot;</B>.
There was not enough space for the arrays that hold tile
offsets and byte counts.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFWriteTile.3t.html">TIFFWriteTile</A></I>(3T),
<I><A HREF="TIFFWriteRawTile.3t.html">TIFFWriteRawTile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+134
View File
@@ -0,0 +1,134 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWriteRawstrip</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFWriteRawstrip</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWriteRawStrip - write a strip of raw data to an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFWriteRawStrip(TIFF* tif, tstrip_t strip, tdata_t buf, tsize_t size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Append
<I>size</I>
bytes of raw data to the specified strip.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
The strip number must be valid according to the current settings
of the
<I>ImageLength</I>
and
<I>RowsPerStrip</I>
tags.
An image may be dynamically grown by increasing the value of
<I>ImageLength</I>
prior to each call to
<I>TIFFWriteRawStrip</I>.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
-1 is returned if an error occurred.
Otherwise, the value of
<I>size</I>
is returned.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>%s: File not open for writing</B>.
The file was opened for reading, not writing.
<P>
<B>Can not write scanlines to a tiled image</B>.
The image is assumed to be organized in tiles because the
<I>TileWidth</I>
and
<I>TileLength</I>
tags have been set with
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T).
<P>
<B>%s: Must set &quot;ImageWidth&quot; before writing data</B>.
The image's width has not be set before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: Must set &quot;PlanarConfiguration&quot; before writing data</B>.
The organization of data has not be defined before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: No space for strip arrays&quot;</B>.
There was not enough space for the arrays that hold strip
offsets and byte counts.
<P>
<B>%s: Strip %d out of range, max %d</B>.
The specified strip is not a valid strip according to the
currently specified image dimensions.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFWriteEncodedStrip.3t.html">TIFFWriteEncodedStrip</A></I>(3T),
<I><A HREF="TIFFWriteScanline.3t.html">TIFFWriteScanline</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+116
View File
@@ -0,0 +1,116 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWriteRawtile</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFWriteRawtile</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 16, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWriteRawTile - write a tile of raw data to an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFWriteRawTile(TIFF* tif, ttile_t tile, tdata_t buf, tsize_t size)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Append
<I>size</I>
bytes of raw data to the specified tile.
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
-1 is returned if an error occurred.
Otherwise, the value of
<I>size</I>
is returned.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>%s: File not open for writing</B>.
The file was opened for reading, not writing.
<P>
<B>Can not write tiles to a stripped image</B>.
The image is assumed to be organized in strips because neither of the
<I>TileWidth</I>
or
<I>TileLength</I>
tags have been set with
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T).
<P>
<B>%s: Must set &quot;ImageWidth&quot; before writing data</B>.
The image's width has not be set before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: Must set &quot;PlanarConfiguration&quot; before writing data</B>.
The organization of data has not be defined before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: No space for tile arrays&quot;</B>.
There was not enough space for the arrays that hold tile
offsets and byte counts.
<P>
<B>%s: Specified tile %d out of range, max %d</B>.
The specified tile is not valid according to the currently
specified image dimensions.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFWriteEncodedTile.3t.html">TIFFWriteEncodedTile</A></I>(3T),
<I><A HREF="TIFFWriteScanline.3t.html">TIFFWriteScanline</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:38 GMT, November 23, 1999
</BODY>
</HTML>
+225
View File
@@ -0,0 +1,225 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWriteScanline</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFWriteScanline</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 16, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWriteScanline - write a scanline to an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>int TIFFWriteScanline(TIFF* tif, tdata_t buf, uint32 row, tsample_t sample)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Write data to a file at the specified row.
The
<I>sample</I>
parameter is used only if data are organized in separate planes (<I>PlanarConfiguration</I>=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
<FONT SIZE="-1">TIFF</FONT>
directory (see further below).
If the current scanline is past the end of the current subfile, the
<I>ImageLength</I>
field is automatically increased to include the scanline (except
for
<I>PlanarConfiguration</I>=2,
where the
<I>ImageLength</I>
cannot be changed once the first data are written).
If the
<I>ImageLength</I>
is increased, the
<I>StripOffsets</I>
and
<I>StripByteCounts</I>
fields are similarly enlarged to reflect data written past the
previous end of image.
<A NAME="lbAE">&nbsp;</A>
<H2>NOTES</H2>
The library writes encoded data using the native machine byte order.
Correctly implemented
<FONT SIZE="-1">TIFF</FONT>
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.
<P>
In C++ the
<I>sample</I>
parameter defaults to 0.
<P>
Once data are written to a file for the current directory,
the values of certain tags may not be altered; see
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for more information.
<P>
It is not possible to write scanlines to a file that
uses a tiled organization. The routine
<I>TIFFIsTiled</I>
can be used to determine if the file is organized
as tiles or strips.
<A NAME="lbAF">&nbsp;</A>
<H2>RETURN VALUES</H2>
<I>TIFFWriteScanline</I>
returns -1 if it immediately detects an error
and 1 for a successful write.
<A NAME="lbAG">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<P>
<B>%s: File not open for writing .</B>
The file was opened for reading, not writing.
<P>
<B>Can not write scanlines to a tiled image</B>.
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</I>
and
<I>TileLength</I>
tags have been set with
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T).
<P>
<B>Compression algorithm does not support random access</B>.
Data was written in a non-sequential order to a file that
uses a compression algorithm and that has
<I>RowsPerStrip</I>
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</I>
should be set to one.
<P>
<B>%s: Must set &quot;ImageWidth&quot; before writing data</B>.
The image's width has not be set before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>%s: Must set &quot;PlanarConfiguration&quot; before writing data</B>.
The organization of data has not be defined before the first write.
See
<I><A HREF="TIFFSetField.3t.html">TIFFSetField</A></I>(3T)
for information on how to do this.
<P>
<B>Can not change &quot;ImageLength&quot; when using separate planes</B>.
Separate image planes are being used (<I>PlanarConfiguration</I>=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 (<I>PlanarConfiguration</I>=1).
<P>
<B>%d: Sample out of range, max %d</B>.
The
<I>sample</I>
parameter was greater than the value of the SamplesPerPixel tag.
<P>
<B>%s: No space for strip arrays .</B>
There was not enough space for the arrays that hold strip
offsets and byte counts.
<A NAME="lbAH">&nbsp;</A>
<H2>BUGS</H2>
Writing subsampled YCbCR data does not work correctly
because, for
<I>PlanarConfiguration</I>=2
the size of a scanline is not calculated on a per-sample basis,
and for
<I>PlanarConfiguration</I>=1
the library does not pack the block-interleaved samples.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFWriteEncodedStrip.3t.html">TIFFWriteEncodedStrip</A></I>(3T),
<I><A HREF="TIFFWriteRawStrip.3t.html">TIFFWriteRawStrip</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">NOTES</A><DD>
<DT><A HREF="#lbAF">RETURN VALUES</A><DD>
<DT><A HREF="#lbAG">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAH">BUGS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+109
View File
@@ -0,0 +1,109 @@
Content-type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFWriteTile</TITLE>
</HEAD><BODY>
<H1>TIFFWriteTile</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: November 29, 1999<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFWriteTile - encode and write a tile of data to an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>tsize_t TIFFWriteTile(TIFF* tif, tdata_t buf, uint32 x, uint32 y, uint32 z, tsample_t sample)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
Write the data for the tile
<I>containing</I>
the specified coordinates.
The data in
<I>buf</I>
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
<I>TIFFTileSize</I>
to find out the size (in bytes) of a tile buffer.
The
<I>x</I>
and
<I>y</I>
parameters are always used by
<I>TIFFWriteTile</I>.
The
<I>z</I>
parameter is used if the image is deeper than 1 slice (<I>ImageDepth</I>&gt;1).
The
<I>sample</I>
parameter is used only if data are organized in separate planes (<I>PlanarConfiguration</I>=2).
<A NAME="lbAE">&nbsp;</A>
<H2>RETURN VALUES</H2>
<I>TIFFWriteTile</I>
returns -1 if it detects an error; otherwise the number of
bytes in the tile is returned.
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed to the
<I><A HREF="TIFFError.3t.html">TIFFError</A></I>(3T)
routine.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFCheckTile.3t.html">TIFFCheckTile</A></I>(3T),
<I><A HREF="TIFFComputeTile.3t.html">TIFFComputeTile</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadTile.3t.html">TIFFReadTile</A></I>(3T),
<I><A HREF="TIFFWriteScanline.3t.html">TIFFWriteScanline</A></I>(3T),
<I><A HREF="TIFFWriteEncodedTile.3t.html">TIFFWriteEncodedTile</A></I>(3T),
<I><A HREF="TIFFWriteRawTile.3t.html">TIFFWriteRawTile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">RETURN VALUES</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
Time: 18:38:00 GMT, November 30, 1999
</BODY>
</HTML>
+101
View File
@@ -0,0 +1,101 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFBUFFER</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFBUFFER</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReadBufferSetup,
TIFFWriteBufferSetup
- I/O buffering control routines
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>int TIFFReadBufferSetup(TIFF*, tdata_t buffer, tsize_t size);</B>
<B>int TIFFWriteBufferSetup(TIFF*, tdata_t buffer, tsize_t size);</B>
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
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.
<P>
<I>TIFFReadBufferSetup</I>
sets up the data buffer used to read raw (encoded) data from a file.
If the specified pointer is
<FONT SIZE="-1">NULL</FONT>
(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</I>
returns a non-zero value if the setup was successful and zero otherwise.
<P>
<I>TIFFWriteBufferSetup</I>
sets up the data buffer used to write raw (encoded) data to a file.
If the specified
<I>size</I>
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</I>
is
<FONT SIZE="-1">NULL</FONT>
(zero), then a buffer of the appropriate size is dynamically allocated.
<I>TIFFWriteBufferSetup</I>
returns a non-zero value if the setup was successful and zero otherwise.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
<B>%s: No space for data buffer at scanline %ld</B>.
<I>TIFFReadBufferSetup</I>
was unable to dynamically allocate space for a data buffer.
<P>
<B>%s: No space for output buffer</B>.
<I>TIFFWriteBufferSetup</I>
was unable to dynamically allocate space for a data buffer.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+102
View File
@@ -0,0 +1,102 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of CODEC</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>CODEC</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFFindCODEC, TIFFRegisterCODEC, TIFFUnRegisterCODEC - codec-related utility routines
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>const TIFFCodec* TIFFFindCODEC(uint16 scheme);</B>
<BR>
<B>TIFFCodec* TIFFRegisterCODEC(uint16 scheme, const char* method, TIFFInitMethod init);</B>
<BR>
<B>void TIFFUnRegisterCODEC(TIFFCodec* codec);</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>libtiff</I>
supports a variety of compression schemes implemented by software
<I>codecs</I>.
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
<FONT SIZE="-1">TIFF</FONT>
<I>Compression</I>
tag; e.g. 5 for
<FONT SIZE="-1">LZW</FONT>
compression.
<P>
The
<I>TIFFRegisterCODEC</I>
routine can be used to
augment or override the set of codecs available to an application.
If the specified
<I>scheme</I>
already has a registered codec then it is
<I>overridden</I>
and any images with data encoded with this
compression scheme will be decoded using the supplied coded.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
<B>No space to register compression scheme %s</B>.
<I>TIFFRegisterCODEC</I>
was unable to allocate memory for the data structures needed
to register a codec.
<P>
<B>Cannot remove compression scheme %s; not registered</B>.
<I>TIFFUnRegisterCODEC</I>
did not locate the specified codec in the table of registered
compression schemes.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+104
View File
@@ -0,0 +1,104 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of MEMORY</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>MEMORY</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
_TIFFmalloc, _TIFFrealloc, _TIFFfree, _TIFFmemset, _TIFFmemcpy, _TIFFmemcmp, - memory management-related functions for use with
<FONT SIZE="-1">TIFF</FONT>
files
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>tdata_t _TIFFmalloc(tsize_t);</B>
<B>tdata_t _TIFFrealloc(tdata_t, tsize_t);</B>
<B>void _TIFFfree(tdata_t);</B>
<B>void _TIFFmemset(tdata_t, int, tsize_t);</B>
<B>void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);</B>
<B>int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);</B>
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
These routines are provided for writing portable software that uses
<I>libtiff</I>;
they hide any memory-management related issues, such as dealing with
segmented architectures found on 16-bit machines.
<P>
<I>_TIFFmalloc</I>
and
<I>_TIFFrealloc</I>
are used to dynamically allocate and reallocate memory used by
<I>libtiff</I>;
such as memory passed into the I/O routines.
Memory allocated through these interfaces is released back to the
system using the
<I>_TIFFfree</I>
routine.
<P>
Memory allocated through one of the above interfaces can be set to
a known value using
<I>_TIFFmemset</I>,
copied to another memory location using
<I>_TIFFmemcpy</I>,
or compared for equality using
<I>_TIFFmemcmp</I>.
These routines conform to the equivalent
<FONT SIZE="-1">ANSI</FONT>
C routines:
<I>memset</I>,
<I>memcpy</I>,
and
<I>memcmp</I>,
repsectively.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
None.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="malloc+3c">malloc</A></I>(3C),
<I><A HREF="memory+3c">memory</A></I>(3C)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+178
View File
@@ -0,0 +1,178 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of QUERY</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>QUERY</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFCurrentRow,
TIFFCurrentStrip,
TIFFCurrentTile,
TIFFCurrentDirectory,
TIFFLastDirectory,
TIFFFileno,
TIFFFileName,
TIFFGetMode,
TIFFIsTiled,
TIFFIsByteSwapped,
TIFFIsUpSampled,
TIFFIsMSB2LSB
- query routines
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>uint32 TIFFCurrentRow(TIFF* tif)</B>
<B>tstrip_t TIFFCurrentStrip(TIFF* tif)</B>
<B>ttile_t TIFFCurrentTile(TIFF* tif)</B>
<B>tdir_t TIFFCurrentDirectory(TIFF* tif)</B>
<B>int TIFFLastDirectory(TIFF* tif)</B>
<B>int TIFFFileno(TIFF* tif)</B>
<B>char* TIFFFileName(TIFF* tif)</B>
<B>int TIFFGetMode(TIFF* tif)</B>
<B>int TIFFIsTiled(TIFF* tif)</B>
<B>int TIFFIsByteSwapped(TIFF* tif)</B>
<B>int TIFFIsUpSampled(TIFF* tif)</B>
<B>int TIFFIsMSB2LSB(TIFF* tif)</B>
<B>const char* TIFFGetVersion(void)</B>
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
The following routines return status information about an open
<FONT SIZE="-1">TIFF</FONT>
file.
<P>
<I>TIFFCurrentDirectory</I>
returns the index of the current directory (directories
are numbered starting at 0).
This number is suitable for use with the
<I>TIFFSetDirectory</I>
routine.
<P>
<I>TIFFLastDirectory</I>
returns a non-zero value if the current directory is the
last directory in the file;
otherwise zero is returned.
<P>
<I>TIFFCurrentRow</I>,
<I>TIFFCurrentStrip</I>,
and
<I>TIFFCurrentTile</I>,
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.
<P>
<I>TIFFFileno</I>
returns the underlying file descriptor used to access the
<FONT SIZE="-1">TIFF</FONT>
image in the filesystem.
<P>
<I>TIFFFileName</I>
returns the pathname argument passed to
<I>TIFFOpen</I>
or
<I>TIFFFdOpen</I>.
<P>
<I>TIFFGetMode</I>
returns the mode with which the underlying file was opened.
On
<FONT SIZE="-1">UNIX</FONT>
systems, this is the value passed to the
<I><A HREF="open+2">open</A></I>(2)
system call.
<P>
<I>TIFFIsTiled</I>
returns a non-zero value if the image data has
a tiled organization.
Zero is returned if the image data is organized in strips.
<P>
<I>TIFFIsByteSwapped</I>
returns a non-zero value if the image data was in a different
byte-order than the host machine.
Zero is returned if the image data and local host byte-orders
are the same.
Data samples that are more than 8 bits wide must be byte-swapped
by the application.
<P>
<I>TIFFIsUpSampled</I>
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).
<P>
<I>TIFFIsMSB2LSB</I>
returns a non-zero value if the image data is being returned with
bit 0 as the most significant bit.
<P>
<I>TIFFGetVersion</I>
returns an
<FONT SIZE="-1">ASCII</FONT>
string that has a version stamp for the
<FONT SIZE="-1">TIFF</FONT>
library software.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
None.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFFdOpen.3t.html">TIFFFdOpen</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+75
View File
@@ -0,0 +1,75 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFSIZE</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFSIZE</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFScanlineSize,
TIFFRasterScanlineSize,
- return the size of various items associated with an open
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>tsize_t TIFFRasterScanlineSize(TIFF* tif)</B>
<B>tsize_t TIFFScanlineSize(TIFF* tif)</B>
</PRE><A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFScanlineSize</I>
returns the size in bytes of a row of data as it would be
returned in a call to
<I>TIFFReadScanline</I>,
or as it would be expected in a call to
<I>TIFFWriteScanline</I>.
<P>
<I>TIFFRasterScanlineSize</I>
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</I>
if data is stored as separate planes.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
None.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFOpen.3t.html">TIFFOpen</A></I>(3T),
<I><A HREF="TIFFReadScanline.3t.html">TIFFReadScanline</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+131
View File
@@ -0,0 +1,131 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFSTRIP</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFSTRIP</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFDefaultStripSize,
TIFFStripSize,
TIFFVStripSize,
TIFFComputeStrip,
TIFFNumberOfStrips
- strip-related utility routines
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>uint32 TIFFDefaultStripSize(TIFF* tif, uint32 estimate)</B>
<B>tsize_t TIFFStripSize(TIFF* tif)</B>
<B>tsize_t TIFFVStripSize(TIFF* tif, uint32 nrows)</B>
<B>tstrip_t TIFFComputeStrip(TIFF* tif, uint32 row, tsample_t sample)</B>
<B>tstrip_t TIFFNumberOfStrips(TIFF* tif)</B>
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFDefaultStripSize</I>
returns the number of rows for a reasonable-sized strip according
to the current settings of the
<I>ImageWidth</I>,
<I>BitsPerSample</I>,
<I>SamplesPerPixel</I>,
tags and any compression-specific requirements.
If the
<I>estimate</I>
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</I>
tag.
In lieu of any unusual requirements
<I>TIFFDefaultStripSize</I>
tries to create strips that have approximately
8 kilobytes of uncompressed data.
<P>
<I>TIFFStripSize</I>
returns the equivalent size for a strip of data as it would
be returned in a call to
<I>TIFFReadEncodedStrip</I>
or as it would be expected in a call to
<I>TIFFWriteEncodedStrip</I>.
<P>
<I>TIFFVStripSize</I>
returns the number of bytes in a strip with
<I>nrows</I>
rows of data.
<P>
<I>TIFFComputeStrip</I>
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</I>
parameter is always used in calculating a strip.
The
<I>sample</I>
parameter is used only if data are organized in separate planes (<I>PlanarConfiguration</I>=2).
<P>
<I>TIFFNumberOfStrips</I>
returns the number of strips in the image.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
None.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFReadEncodedStrip.3t.html">TIFFReadEncodedStrip</A></I>(3T),
<I><A HREF="TIFFReadRawStrip.3t.html">TIFFReadRawStrip</A></I>(3T),
<I><A HREF="TIFFWriteEncodedStrip.3t.html">TIFFWriteEncodedStrip</A></I>(3T),
<I><A HREF="TIFFWriteRawStrip.3t.html">TIFFWriteRawStrip</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+108
View File
@@ -0,0 +1,108 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of SWAB</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>SWAB</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: December 16, 1991<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFReverseBits, TIFFSwabShort, TIFFSwabLong, TIFFSwabArrayOfShort, TIFFSwabArrayOfLong - byte- and bit-swapping routines
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
<B>const unsigned char* TIFFGetBitRevTable(int reversed);</B>
<BR>
<B>void TIFFReverseBits(u_char* data, unsigned long nbytes)</B>
<BR>
<B>void TIFFSwabShort(uint16* data)</B>
<BR>
<B>void TIFFSwabLong(uint32* data)</B>
<BR>
<B>void TIFFSwabArrayOfShort(uint16* data, unsigned long nshorts)</B>
<BR>
<B>void TIFFSwabArrayOfLong(uint32* data, unsigned long nlongs)</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
The following routines are used by the library to swap
16- and 32-bit data and to reverse the order of bits in bytes.
<P>
<I>TIFFSwabShort</I>
and
<I>TIFFSwabLong</I>
swap the bytes in a single 16-bit and 32-bit item, respectively.
<I>TIFFSwabArrayOfShort</I>
and
<I>TIFFSwabArrayOfLong</I>
swap the bytes in an array of 16-bit and 32-bit items, respectively.
<P>
<I>TIFFReverseBits</I>
replaces each byte in
<I>data</I>
with the equivalent bit-reversed value.
This operation is done with a lookup table,
<I>TIFFBitRevTable</I>
which is declared public.
A second table,
<I>TIFFNoBitRevTable</I>
is also declared public; it is a lookup table that
can be used as an
<I>identity function</I>;
i.e.
<I>TIFFNoBitRevTable[n] == n</I>.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
None.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+183
View File
@@ -0,0 +1,183 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFTILE</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFTILE</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: February 14, 1992<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
TIFFTileSize,
TIFFTileRowSize,
TIFFVTileSize,
TIFFDefaultTileSize,
TIFFComputeTile,
TIFFCheckTile,
TIFFNumberOfTiles
- tile-related utility routines
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<PRE>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<B>void TIFFDefaultTileSize(TIFF* tif, uint32* tw, uint32* th)</B>
<B>tsize_t TIFFTileSize(TIFF* tif)</B>
<B>tsize_t TIFFTileRowSize(TIFF* tif)</B>
<B>tsize_t TIFFVTileSize(TIFF* tif, uint32 nrows)</B>
<B>ttile_t TIFFComputeTile(TIFF* tif, uint32 x, uint32 y, uint32 z, tsample_t sample)</B>
<B>int TIFFCheckTile(TIFF* tif, uint32 x, uint32 y, uint32 z, tsample_t sample)</B>
<B>ttile_t TIFFNumberOfTiles(TIFF* tif)</B>
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>TIFFDefaultTileSize</I>
returns the pixel width and height of a reasonable-sized tile;
suitable for setting up the
<I>TileWidth</I>
and
<I>TileLength</I>
tags.
If the
<I>tw</I>
and
<I>th</I>
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
<FONT SIZE="-1">TIFF</FONT>
specification.
<P>
<I>TIFFTileSize</I>
returns the equivalent size for a tile of data as it would
be returned in a call to
<I>TIFFReadTile</I>
or as it would be expected in a call to
<I>TIFFWriteTile</I>.
<P>
<I>TIFFVTileSize</I>
returns the number of bytes in a row-aligned tile with
<I>nrows</I>
of data.
<P>
<I>TIFFTileRowSize</I>
returns the number of bytes of a row of data in a tile.
<P>
<I>TIFFComputeTile</I>
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</I>
and
<I>y</I>
parameters are always used in calculating a tile.
The
<I>z</I>
parameter is used if the image is deeper than 1 slice (<I>ImageDepth</I>&gt;1).
The
<I>sample</I>
parameter is used only if data are organized in separate planes (<I>PlanarConfiguration</I>=2).
<P>
<I>TIFFCheckTile</I>
returns a non-zero value if the supplied coordinates are
within the bounds of the image and zero otherwise.
The
<I>x</I>
parameter is checked against the value of the
<I>ImageWidth</I>
tag.
The
<I>y</I>
parameter is checked against the value of the
<I>ImageLength</I>
tag.
The
<I>z</I>
parameter is checked against the value of the
<I>ImageDepth</I>
tag (if defined).
The
<I>sample</I>
parameter is checked against the value of the
<I>SamplesPerPixel</I>
parameter if the data are organized in separate planes.
<P>
<I>TIFFNumberOfTiles</I>
returns the number of tiles in the image.
<A NAME="lbAE">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
None.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="libtiff.3t.html">libtiff</A></I>(3T),
<I><A HREF="TIFFReadEncodedTile.3t.html">TIFFReadEncodedTile</A></I>(3T),
<I><A HREF="TIFFReadRawTile.3t.html">TIFFReadRawTile</A></I>(3T),
<I><A HREF="TIFFReadTile.3t.html">TIFFReadTile</A></I>(3T),
<I><A HREF="TIFFWriteEncodedTile.3t.html">TIFFWriteEncodedTile</A></I>(3T),
<I><A HREF="TIFFWriteRawTile.3t.html">TIFFWriteRawTile</A></I>(3T),
<I><A HREF="TIFFWriteTile.3t.html">TIFFWriteTile</A></I>(3T)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+210
View File
@@ -0,0 +1,210 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of FAX2PS</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>FAX2PS</H1>
Section: User Commands (1)<BR>Updated: March 16, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
fax2ps - convert a
<FONT SIZE="-1">TIFF</FONT>
facsimile to compressed P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT>tm
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>fax2ps</B>
[
<I>options</I>
] [
<I>file</I>...
]
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>fax2ps</I>
reads one or more
<FONT SIZE="-1">TIFF</FONT>
facsimile image files and prints a compressed form of
P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> on the standard output that is suitable for printing.
<P>
By default, each page is scaled to reflect the
image dimensions and resolutions stored in the file.
The
<B>-x</B>
and
<B>-y</B>
options can be used to specify the horizontal and vertical
image resolutions (lines/inch), respectively.
If the
<B>-S</B>
option is specified, each page is scaled to fill an output page.
The default output page is 8.5 by 11 inches.
Alternate page dimensions can be specified in inches with the
<B>-W</B>
and
<B>-H</B>
options.
<P>
By default
<I>fax2ps</I>
generates P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> for all pages in the file.
The
<B>-p</B>
option can be used to select one or more pages from
a multi-page document.
<P>
<I>fax2ps</I>
generates a compressed form of P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> that is
optimized for sending pages of text to a P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT>
printer attached to a host through a low-speed link (such
as a serial line).
Each output page is filled with white and then only
the black areas are drawn.
The P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> specification of the black drawing operations
is optimized by using a special font that encodes the
move-draw operations required to fill
the black regions on the page.
This compression scheme typically results in a substantially
reduced P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> description, relative to the straightforward
imaging of the page with a P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT>
<I>image</I>
operator.
This algorithm can, however, be ineffective
for continuous-tone and white-on-black images.
For these images, it sometimes is more efficient to send
the raster bitmap image directly; see
<I><A HREF="tiff2ps+1.html">tiff2ps</A></I>(1).
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-p</B><I> number</I>
<DD>
Print only the indicated page.
Multiple pages may be printed by specifying
this option more than once.
<DT><B>-x</B><I> resolution</I>
<DD>
Use
<I>resolution</I>
as the horizontal resolution, in dots/inch, of the image data.
By default this value is taken from the file.
<DT><B>-y</B><I> resolution</I>
<DD>
Use
<I>resolution</I>
as the vertical resolution, in lines/inch, of the image data.
By default this value is taken from the file.
<DT><B>-S</B>
<DD>
Scale each page of image data to fill the output page dimensions.
By default images are presented according to the dimension
information recorded in the
<FONT SIZE="-1">TIFF</FONT>
file.
<DT><B>-W</B><I> width</I>
<DD>
Use
<I>width</I>
as the width, in inches, of the output page.
The default page width is 8.5 inches.
<DT><B>-H</B><I> height</I>
<DD>
Use
<I>height</I>
as the height, in inches, of the output page.
The default page height is 11 inches.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
Some messages about malformed
<FONT SIZE="-1">TIFF</FONT>
images come from the
<FONT SIZE="-1">TIFF</FONT>
library.
<P>
Various messages about badly formatted facsimile images
may be generated due to transmission errors in received
facsimile.
<I>fax2ps</I>
attempts to recover from such data errors by resynchronizing
decoding at the end of the current scanline.
This can result in long horizontal black lines in the resultant
P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> image.
<A NAME="lbAG">&nbsp;</A>
<H2>NOTES</H2>
If the destination printer supports P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> Level II then
it is always faster to just send the encoded bitmap generated
by the
<I><A HREF="tiff2ps+1.html">tiff2ps</A></I>(1)
program.
<A NAME="lbAH">&nbsp;</A>
<H2>BUGS</H2>
<I>fax2ps</I>
should probably figure out when it is doing a poor
job of compressing the output and just generate
P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> to image the bitmap raster instead.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiff2ps+1.html">tiff2ps</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">NOTES</A><DD>
<DT><A HREF="#lbAH">BUGS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+257
View File
@@ -0,0 +1,257 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of FAX2TIFF</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>FAX2TIFF</H1>
Section: User Commands (1)<BR>Updated: September 24, 1994<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
fax2tiff - create a
<FONT SIZE="-1">TIFF</FONT>
Class F fax file from raw fax data
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>fax2tiff</B>
[
<I>options</I>
] [
<B>-o</B>
<I>output.tif</I>
]
<I>input.g3</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>Fax2tiff</I>
creates a
<FONT SIZE="-1">TIFF</FONT>
file containing
<FONT SIZE="-1">CCITT</FONT>
Group 3 or Group 4 encoded data from one or more files containing ``raw''
Group 3 encoded data (typically obtained directly from a fax modem).
By default, each row of data in the resultant
<FONT SIZE="-1">TIFF</FONT>
file is 2-dimensionally encoded and
padded or truncated to 1728 pixels, as needed.
The resultant image is a set of low resolution (98 lines/inch)
or medium resolution (196 lines/inch)
pages, each of which is a single strip of data.
The generated file conforms to the
<FONT SIZE="-1">TIFF</FONT>
Class F (<FONT SIZE="-1">FAX</FONT>) specification for storing facsimile data.
This means, in particular, that each page of the data does
<B>not</B>
include the trailing
<I>return to control</I>
(<FONT SIZE="-1">RTC</FONT>) code; as required
for transmission by the
<FONT SIZE="-1">CCITT</FONT>
Group 3 specifications.
The old, ``classic'', format is created if the
<B>-c</B>
option is used.
(The Class F format can also be requested with the
<B>-f</B>
option.)
<P>
The default name of the output image is
<I>fax.tif</I>;
this can be changed with the
<B>-o</B>
option.
Each input file is assumed to be a separate page of facsimile data
from the same document.
The order in which input files are specified on the command
line is the order in which the resultant pages appear in the
output file.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
Options that affect the interpretation of input data are:
<DL COMPACT>
<DT><B>-2</B>
<DD>
Assume input data is 2-d Huffman encoded.
<DT><B>-B</B>
<DD>
Assume input data was encoded with
black as 0 and white as 1.
<DT><B>-L</B>
<DD>
Treat input data as having bits filled from least
significant bit (<FONT SIZE="-1">LSB</FONT>) to most significant bit (<FONT SIZE="-1">MSB</FONT>).
(This is the default.)
<DT><B>-M</B>
<DD>
Treat input data as having bits filled from most
significant bit (<FONT SIZE="-1">MSB</FONT>) to most least bit (<FONT SIZE="-1">LSB</FONT>).
<DT><B>-R</B>
<DD>
Specify the vertical resolution, in lines/inch, of the
input images.
By default input are assumed to have a vertical
resolution of 196 lines/inch.
If images are low resolution facsimile, a value of
98 lines/inch should be specified.
<DT><B>-W</B>
<DD>
Assume input data was encoded with
black as 1 and white as 0.
(This is the default.)
</DL>
<P>
Options that affect the output file format are:
<DL COMPACT>
<DT><B>-1</B>
<DD>
Force output to be compressed with the 1-dimensional
version of the
<FONT SIZE="-1">CCITT</FONT>
Group 3 Huffman encoding algorithm.
<DT><B>-4</B>
<DD>
Force output to be compressed with the
<FONT SIZE="-1">CCITT</FONT>
Group 4 Huffman encoding.
<DT><B>-o</B>
<DD>
Specify the name of the output file.
<DT><B>-p</B>
<DD>
Force the last bit of each
<I>End Of Line</I>
(<FONT SIZE="-1">EOL</FONT>) code to land on a byte boundary.
This ``zero padding'' will be reflected in the contents of the
<I>Group3Options</I>
tag of the resultant
<FONT SIZE="-1">TIFF</FONT>
file.
<DT><B>-s</B>
<DD>
Stretch the input image vertically by writing each input row of
data twice to the output file.
<DT><B>-v</B>
<DD>
Force
<I>fax2tiff</I>
to print the number of rows of data it retrieved from the input file.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
The following warnings and errors come from the decoding
routines in the library.
<P>
<B>Warning, %s: Premature EOL at scanline %d (x %d).\n</B>.
The input data had a row that was shorter than the expected value of 1728.
The row is padded with white.
<P>
<B>%s: Premature EOF at scanline %d (x %d).\n</B>.
The decoder ran out of data in the middle of a scanline.
The resultant row is padded with white.
<P>
<B>%s: Bad code word at row %d, x %d\n</B>.
An invalid Group 3
<I>code</I>
was encountered while decoding the input file.
The row number and horizontal position is given.
The remainder of the input row is discarded, while
the corresponding output row is padded with white.
<P>
<B>%s: Bad 2D code word at scanline %d.\n</B>.
An invalid Group 4 or 2D Group 3
<I>code</I>
was encountered while decoding the input file.
The row number and horizontal position is given.
The remainder of the input row is discarded, while
the corresponding output row is padded with white.
<A NAME="lbAG">&nbsp;</A>
<H2>BUGS</H2>
Should not have the constant width 1728 built into it.
Input data are assumed to have a a ``top left'' orientation;
it should be possible to override this assumption
from the command line.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I></I><FONT SIZE="-1"><I>CCITT</I></FONT><I> Recommendation T.4</I>
(Standardization of Group 3 Facsimile Apparatus for Document Transmission).
<P>
<I>The Spirit of TIFF Class F</I>,
an appendix to the TIFF 5.0 specification prepared by Cygnet Technologies.
<P>
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffdither+1.html">tiffdither</A></I>(1),
<I><A HREF="tiffgt+1.html">tiffgt</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3).
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAG">BUGS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+112
View File
@@ -0,0 +1,112 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of GIF2TIFF</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>GIF2TIFF</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
gif2tiff - create a
<FONT SIZE="-1">TIFF</FONT>
file from a GIF87 format image file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>gif2tiff</B>
[
<I>options</I>
]
<I>input.gif</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>Gif2tiff</I>
converts a file in the GIF87 format to
<FONT SIZE="-1">TIFF.</FONT>
The
<FONT SIZE="-1">TIFF</FONT>
image is created as a palette image, with samples
compressed with the Lempel-Ziv &amp; Welch algorithm (<I>Compression</I>=5).
These characteristics can overriden, or explicitly specified
with the options described below.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify a compression scheme to use when writing image data:
<B>-c none</B>
for no compression,
<B>-c packbits</B>
for the PackBits compression algorithm,
<B>-c zip</B>
for the Deflate compression algorithm,
and
<B>-c lzw</B>
for Lempel-Ziv &amp; Welch (the default).
<DT><B>-r</B>
<DD>
Write data with a specified number of rows per strip;
by default the number of rows/strip is selected so that each strip
is approximately 8 kilobytes.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>NOTES</H2>
The program is based on Paul Haeberli's
<I>fromgif</I>
program which, in turn, is based on Marcel J.E. Mol's GIF reader.
<A NAME="lbAG">&nbsp;</A>
<H2>BUGS</H2>
Should have more options to control output format.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">NOTES</A><DD>
<DT><A HREF="#lbAG">BUGS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+69
View File
@@ -0,0 +1,69 @@
<HTML>
<HEAD>
<TITLE>Libtiff HTML manpage index</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Helvetica,Sans,Arial">
<ul>
<H2>Man Pages</h2>
These pages were generated using Richard Verhoeven's man2html, modified and packaged by Michael Hamilton
<p>
<li><A HREF=TIFFClose.3t.html>TIFFClose.3t</a>
<li><A HREF=TIFFError.3t.html>TIFFError.3t</a>
<li><A HREF=TIFFFlush.3t.html>TIFFFlush.3t</a>
<li><A HREF=TIFFGetField.3t.html>TIFFGetField.3t</a>
<li><A HREF=TIFFOpen.3t.html>TIFFOpen.3t</a>
<li><A HREF=TIFFPrintDirectory.3t.html>TIFFPrintDirectory.3t</a>
<li><A HREF=TIFFRGBAImage.3t.html>TIFFRGBAImage.3t</a>
<li><A HREF=TIFFReadDirectory.3t.html>TIFFReadDirectory.3t</a>
<li><A HREF=TIFFReadEncodedStrip.3t.html>TIFFReadEncodedStrip.3t</a>
<li><A HREF=TIFFReadEncodedTile.3t.html>TIFFReadEncodedTile.3t</a>
<li><A HREF=TIFFReadRGBAImage.3t.html>TIFFReadRGBAImage.3t</a>
<li><A HREF=TIFFReadRGBAStrip.3t.html>TIFFReadRGBAStrip.3t</a>
<li><A HREF=TIFFReadRGBATile.3t.html>TIFFReadRGBATile.3t</a>
<li><A HREF=TIFFReadRawStrip.3t.html>TIFFReadRawStrip.3t</a>
<li><A HREF=TIFFReadRawTile.3t.html>TIFFReadRawTile.3t</a>
<li><A HREF=TIFFReadScanline.3t.html>TIFFReadScanline.3t</a>
<li><A HREF=TIFFReadTile.3t.html>TIFFReadTile.3t</a>
<li><A HREF=TIFFSetDirectory.3t.html>TIFFSetDirectory.3t</a>
<li><A HREF=TIFFSetField.3t.html>TIFFSetField.3t</a>
<li><A HREF=TIFFWarning.3t.html>TIFFWarning.3t</a>
<li><A HREF=TIFFWriteDirectory.3t.html>TIFFWriteDirectory.3t</a>
<li><A HREF=TIFFWriteEncodedStrip.3t.html>TIFFWriteEncodedStrip.3t</a>
<li><A HREF=TIFFWriteEncodedTile.3t.html>TIFFWriteEncodedTile.3t</a>
<li><A HREF=TIFFWriteRawStrip.3t.html>TIFFWriteRawStrip.3t</a>
<li><A HREF=TIFFWriteRawTile.3t.html>TIFFWriteRawTile.3t</a>
<li><A HREF=TIFFWriteScanline.3t.html>TIFFWriteScanline.3t</a>
<li><A HREF=TIFFWriteTile.3t.html>TIFFWriteTile.3t</a>
<li><A HREF=TIFFbuffer.3t.html>TIFFbuffer.3t</a>
<li><A HREF=TIFFcodec.3t.html>TIFFcodec.3t</a>
<li><A HREF=TIFFmemory.3t.html>TIFFmemory.3t</a>
<li><A HREF=TIFFquery.3t.html>TIFFquery.3t</a>
<li><A HREF=TIFFsize.3t.html>TIFFsize.3t</a>
<li><A HREF=TIFFstrip.3t.html>TIFFstrip.3t</a>
<li><A HREF=TIFFswab.3t.html>TIFFswab.3t</a>
<li><A HREF=TIFFtile.3t.html>TIFFtile.3t</a>
<li><A HREF=fax2ps.1.html>fax2ps.1</a>
<li><A HREF=fax2tiff.1.html>fax2tiff.1</a>
<li><A HREF=gif2tiff.1.html>gif2tiff.1</a>
<li><A HREF=libtiff.3t.html>libtiff.3t</a>
<li><A HREF=pal2rgb.1.html>pal2rgb.1</a>
<li><A HREF=ppm2tiff.1.html>ppm2tiff.1</a>
<li><A HREF=ras2tiff.1.html>ras2tiff.1</a>
<li><A HREF=rgb2ycbcr.1.html>rgb2ycbcr.1</a>
<li><A HREF=sgi2tiff.1.html>sgi2tiff.1</a>
<li><A HREF=thumbnail.1.html>thumbnail.1</a>
<li><A HREF=tiff2bw.1.html>tiff2bw.1</a>
<li><A HREF=tiff2ps.1.html>tiff2ps.1</a>
<li><A HREF=tiffcmp.1.html>tiffcmp.1</a>
<li><A HREF=tiffcp.1.html>tiffcp.1</a>
<li><A HREF=tiffdither.1.html>tiffdither.1</a>
<li><A HREF=tiffdump.1.html>tiffdump.1</a>
<li><A HREF=tiffgt.1.html>tiffgt.1</a>
<li><A HREF=tiffinfo.1.html>tiffinfo.1</a>
<li><A HREF=tiffmedian.1.html>tiffmedian.1</a>
<li><A HREF=tiffsplit.1.html>tiffsplit.1</a>
<li><A HREF=tiffsv.1.html>tiffsv.1</a>
</ul>
</BODY>
</HTML>
+612
View File
@@ -0,0 +1,612 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of INTRO</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>INTRO</H1>
Section: Misc. Reference Manual Pages (3T)<BR>Updated: August 21, 1997<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
libtiff - introduction to
<I>libtiff</I>,
a library for reading and writing
<FONT SIZE="-1">TIFF</FONT>
files
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>#include &lt;<A HREF="file:/usr/include/tiffio.h">tiffio.h</A>&gt;</B>
<BR>
cc file.c
<B>-ltiff</B>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>libtiff</I>
is a library for reading and writing data files encoded with the
<I>Tag Image File</I>
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.
<P>
The library supports several compression algorithms, as indicated
by the
<I>Compression</I>
field, including:
no compression (1),
<FONT SIZE="-1">CCITT</FONT>
1D Huffman compression (2),
<FONT SIZE="-1">CCITT</FONT>
Group 3 Facsimile compression (3),
<FONT SIZE="-1">CCITT</FONT>
Group 4 Facsimile compression (4),
Lempel-Ziv &amp; 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</I>
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 (<FONT SIZE="-1">MSB</FONT>) to Least Significant Bit (<FONT SIZE="-1">LSB</FONT>) or
<FONT SIZE="-1">LSB</FONT>
to
<FONT SIZE="-1">MSB.</FONT>
Finally, the library does not support files in which the
<I>BitsPerSample</I>,
<I>Compression</I>,
<I>MinSampleValue</I>,
or
<I>MaxSampleValue</I>
fields are defined differently on a per-sample basis
(in Rev. 6.0 the
<I>Compression</I>
tag is not defined on a per-sample basis, so this is immaterial).
<A NAME="lbAE">&nbsp;</A>
<H2>DATA TYPES</H2>
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
<FONT SIZE="-1">TIFF</FONT>
format.
The following typedefs are exposed to users either through
function definitions or through parameters passed through the
varargs interfaces.
<P>
<PRE>
typedef unsigned short uint16; 16-bit unsigned integer
typedef unsigned &lt;<I>thing</I>&gt; uint32; 32-bit unsigned integer
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
</PRE>
<P>
Note that
<I>tstrip_t</I>,
<I>ttile_t</I>,
and
<I>tsize_t</I>
are constrained to be no more than 32-bit quantities by
32-bit fields they are stored in in the
<FONT SIZE="-1">TIFF</FONT>
image.
Likewise
<I>tsample_t</I>
is limited by the 16-bit field used to store the
<I>SamplesPerPixel</I>
tag.
<I>tdir_t</I>
constrains the maximum number of
<FONT SIZE="-1">IFDs</FONT>
that may appear in an image and may be an arbitrary size (w/o penalty).
<I>ttag_t</I>
must be either int, unsigned int, pointer, or double because
the library uses a varargs interface and
<FONT SIZE="-1">ANSI C</FONT>
restricts the type of the parameter before an ellipsis to be a
promoted type.
<I>toff_t</I>
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.
<A NAME="lbAF">&nbsp;</A>
<H2>LIST OF ROUTINES</H2>
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.
<P>
<PRE>
<I>Name</I> <I>Appears on Page</I> <I>Description</I>
TIFFCheckTile tile.3t very x,y,z,sample is within image
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
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
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
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
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 size.3t return size of a 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
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
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
</PRE>
<A NAME="lbAG">&nbsp;</A>
<H2>TAG USAGE</H2>
The table below lists the
<FONT SIZE="-1">TIFF</FONT>
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</I>
is only useful if
<I>Compression</I>
is set to
<FONT SIZE="-1">CCITT</FONT>
Group 3 encoding.
Tags of this sort are considered
<I>codec-specific</I>
tags and the library does not recognize them except when the
<I>Compression</I>
tag has been previously set to the relevant compression scheme.
<P>
<PRE>
<I>Tag Name</I> <I>Value</I> <I>R/W</I> <I>Library Use/Notes</I>
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
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/Wused 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
</PRE><A NAME="lbAH">&nbsp;</A>
<H2>PSEUDO TAGS</H2>
In addition to the normal
<FONT SIZE="-1">TIFF</FONT>
tags the library supports a collection of
tags whose values lie in a range outside the valid range of
<FONT SIZE="-1">TIFF</FONT>
tags.
These tags are termed
<I>pseud-tags</I>
and are used to control various codec-specific functions within the library.
The table below summarizes the defined pseudo-tags.
<P>
<PRE>
<I>Tag Name</I> <I>Codec</I> <I>R/W</I> <I>Library Use/Notes</I>
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 <I>JPEGTables</I> tag
TIFFTAG_ZIPQUALITY Deflate R/Wcompression quality level
TIFFTAG_PIXARLOGDATAFMT PixarLog R/Wuser data format
TIFFTAG_PIXARLOGQUALITY PixarLog R/Wcompression quality level
TIFFTAG_SGILOGDATAFMT SGILog R/W user data format
</PRE>
<DL COMPACT>
<DT><B>TIFFTAG_FAXMODE</B>
<DD>
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
<FONT SIZE="-1">RTC</FONT>
is written at the end of the last strip),
FAXMODE_NORTC
(opposite of
FAXMODE_CLASSIC;
also called
FAXMODE_CLASSF),
FAXMODE_NOEOL
(do not write
<FONT SIZE="-1">EOL</FONT>
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.
<DT><B>TIFFTAG_FAXFILLFUNC</B>
<DD>
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.
<DT><B>TIFFTAG_IPTCNEWSPHOTO</B>
<DD>
Tag contaings image metadata per the IPTC newsphoto spec: Headline,
captioning, credit, etc... Used by most wire services.
<DT><B>TIFFTAG_PHOTOSHOP</B>
<DD>
Tag contains Photoshop captioning information and metadata. Photoshop
uses in parallel and redundantly alongside IPTCNEWSPHOTO information.
<DT><B>TIFFTAG_JPEGQUALITY</B>
<DD>
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.
<DT><B>TIFFTAG_JPEGCOLORMODE</B>
<DD>
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.
<DT><B>TIFFTAG_JPEGTABLESMODE</B>
<DD>
Control the information written in the
<I>JPEGTables</I>
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.
<DT><B>TIFFTAG_ZIPQUALITY</B>
<DD>
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.
<DT><B>TIFFTAG_PIXARLOGDATAFMT</B>
<DD>
Control the format of user data passed
<I>in</I>
to the PixarLog codec when encoding and passed
<I>out</I>
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.
<DT><B>TIFFTAG_PIXARLOGQUALITY</B>
<DD>
Control the compression technique used by the PixarLog codec.
This value is treated identically to TIFFTAG_ZIPQUALITY; see the
above description.
<DT><B>TIFFTAG_SGILOGDATAFMT</B>
<DD>
Control the format of client data passed
<I>in</I>
to the SGILog codec when encoding and passed
<I>out</I>
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).
</DL>
<A NAME="lbAI">&nbsp;</A>
<H2>DIAGNOSTICS</H2>
All error messages are directed through the
<I>TIFFError</I>
routine.
By default messages are directed to
<B>stderr</B>
in the form:
<I>module: message\n.</I>
Warning messages are likewise directed through the
<I>TIFFWarning</I>
routine.
<A NAME="lbAJ">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="http:/cgi-bin/man2html?fax2tiff+1">fax2tiff</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?gif2tiff+1">gif2tiff</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?pal2rgb+1">pal2rgb</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?ppm2tiff+1">ppm2tiff</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?rgb2ycbcr+1">rgb2ycbcr</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?ras2tiff+1">ras2tiff</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?sgi2tiff+1">sgi2tiff</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiff2bw+1">tiff2bw</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffdither+1">tiffdither</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffdump+1">tiffdump</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffcp+1">tiffcp</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffcmp+1">tiffcmp</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffgt+1">tiffgt</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffinfo+1">tiffinfo</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffmedian+1">tiffmedian</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffsplit+1">tiffsplit</A></I>(1),
<I><A HREF="http:/cgi-bin/man2html?tiffsv+1">tiffsv</A></I>(1),
<P>
<I>Tag Image File Format Specification - Revision 6.0</I>,
an Aldus Technical Memorandum.
<P>
<I>The Spirit of TIFF Class F</I>,
an appendix to the TIFF 5.0 specification prepared by Cygnet Technologies.
<A NAME="lbAK">&nbsp;</A>
<H2>BUGS</H2>
The library does not support multi-sample images
where some samples have different bits/sample.
<P>
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.
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">DATA TYPES</A><DD>
<DT><A HREF="#lbAF">LIST OF ROUTINES</A><DD>
<DT><A HREF="#lbAG">TAG USAGE</A><DD>
<DT><A HREF="#lbAH">PSEUDO TAGS</A><DD>
<DT><A HREF="#lbAI">DIAGNOSTICS</A><DD>
<DT><A HREF="#lbAJ">SEE ALSO</A><DD>
<DT><A HREF="#lbAK">BUGS</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:39 GMT, November 23, 1999
</BODY>
</HTML>
+149
View File
@@ -0,0 +1,149 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of PAL2RGB</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>PAL2RGB</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
pal2rgb - convert a palette color
<FONT SIZE="-1">TIFF</FONT>
image to a full color image
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>pal2rgb</B>
[
<I>options</I>
]
<I>input.tif</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>Pal2rgb</I>
converts a palette color
<FONT SIZE="-1">TIFF</FONT>
image to a full color image by
applying the colormap of the palette image to each sample
to generate a full color
<FONT SIZE="-1">RGB</FONT>
image.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
Options that affect the interpretation of input data are:
<DL COMPACT>
<DT><B>-C</B>
<DD>
This option overrides the default behaviour of
<I>pal2rgb</I>
in determining whether or not
colormap entries contain 16-bit or 8-bit values.
By default the colormap is inspected and
if no colormap entry greater than 255 is found,
the colormap is assumed to have only 8-bit values; otherwise
16-bit values (as required by the
<FONT SIZE="-1">TIFF</FONT>
specification) are assumed.
The
<B>-C</B>
option can be used to explicitly specify the number of
bits for colormap entries:
<B>-C 8</B>
for 8-bit values,
<B>-C 16</B>
for 16-bit values.
</DL>
<P>
Options that affect the output file format are:
<DL COMPACT>
<DT><B>-p</B>
<DD>
Explicitly select the planar configuration used in organizing
data samples in the output image:
<B>-p contig</B>
for samples packed contiguously, and
<B>-p separate</B>
for samples stored separately.
By default samples are packed.
<DT><B>-c</B>
<DD>
Use the specific compression algorithm to encoded image data
in the output file:
<B>-c packbits</B>
for Macintosh Packbits,
<B>-c lzw</B>
for Lempel-Ziv &amp; Welch,
<B>-c zip</B>
for Deflate,
<B>-c none</B>
for no compression.
If no compression-related option is specified, the input
file's compression algorithm is used.
<DT><B>-r</B>
<DD>
Explicitly specify the number of rows in each strip of the
output file.
If the
<B>-r</B>
option is not specified, a number is selected such that each
output strip has approximately 8 kilobytes of data in it.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>
Only 8-bit images are handled.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+129
View File
@@ -0,0 +1,129 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of PPM2TIFF</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>PPM2TIFF</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
ppm2tiff - create a
<FONT SIZE="-1">TIFF</FONT>
file from a
<FONT SIZE="-1">PPM</FONT>
image file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>ppm2tiff</B>
[
<I>options</I>
] [
<I>input.ppm</I>
]
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>ppm2tiff</I>
converts a file in the
<FONT SIZE="-1">PPM</FONT>
image format to
<FONT SIZE="-1">TIFF.</FONT>
By default, the
<FONT SIZE="-1">TIFF</FONT>
image is created with data samples packed (<I>PlanarConfiguration</I>=1),
compressed with the Lempel-Ziv &amp; Welch algorithm (<I>Compression</I>=5),
and with each strip no more than 8 kilobytes.
These characteristics can be overriden, or explicitly specified
with the options described below
<P>
If the
<FONT SIZE="-1">PPM</FONT>
file contains greyscale data, then the
<I>PhotometricInterpretation</I>
tag is set to 1 (min-is-black),
otherwise it is set to 2 (RGB).
<P>
If no
<FONT SIZE="-1">PPM</FONT>
file is specified on the command line,
<I>ppm2tiff</I>
will read from the standard input.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify a compression scheme to use when writing image data:
<B>-c none</B>
for no compression,
<B>-c packbits</B>
for the PackBits compression algorithm,
<B>-c jpeg</B>
for the baseline JPEG compression algorithm,
<B>-c zip</B>
for the Deflate compression algorithm,
and
<B>-c lzw</B>
for Lempel-Ziv &amp; Welch compression (the default).
<DT><B>-r</B>
<DD>
Write data with a specified number of rows per strip;
by default the number of rows/strip is selected so that each strip
is approximately 8 kilobytes.
<DT><B>-R</B>
<DD>
Mark the resultant image to have the specified
X and Y resolution (in dots/inch).
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+127
View File
@@ -0,0 +1,127 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of RAS2TIFF</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>RAS2TIFF</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
ras2tiff - create a
<FONT SIZE="-1">TIFF</FONT>
file from a Sun rasterfile
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>ras2tiff</B>
[
<I>options</I>
]
<I>input.ras</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>ras2tiff</I>
converts a file in the Sun rasterfile format to
<FONT SIZE="-1">TIFF.</FONT>
By default, the
<FONT SIZE="-1">TIFF</FONT>
image is created with data samples packed (<I>PlanarConfiguration</I>=1),
compressed with the Lempel-Ziv &amp; Welch algorithm (<I>Compression</I>=5),
and with each strip no more than 8 kilobytes.
These characteristics can overriden, or explicitly specified
with the options described below.
<P>
Any colormap information in the rasterfile is carried over to the
<FONT SIZE="-1">TIFF</FONT>
file by including a
<I>Colormap</I>
tag in the output file.
If the rasterfile has a colormap, the
<I>PhotometricInterpretation</I>
tag is set to 3 (palette);
otherwise it is set to 2 (RGB) if the depth
is 24 or 1 (min-is-black) if the depth is not 24.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify a compression scheme to use when writing image data:
<B>-c none</B>
for no compression,
<B>-c packbits</B>
for the PackBits compression algorithm,
<B>-c jpeg</B>
for the baseline JPEG compression algorithm,
<B>-c zip</B>
for the Deflate compression algorithm,
and
<B>-c lzw</B>
for Lempel-Ziv &amp; Welch (the default).
<DT><B>-r</B>
<DD>
Write data with a specified number of rows per strip;
by default the number of rows/strip is selected so that each strip
is approximately 8 kilobytes.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>
Does not handle all possible rasterfiles.
In particular,
<I>ras2tiff</I>
does not handle run-length encoded images.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+129
View File
@@ -0,0 +1,129 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of RGB2YCBCR</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>RGB2YCBCR</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
rgb2ycbcr - convert non-YCbCr
<FONT SIZE="-1">TIFF</FONT>
images to a YCbCr
<FONT SIZE="-1">TIFF</FONT>
image
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>rgb2ycbcr</B>
[
<I>options</I>
]
<I>src1.tif src2.tif ... dst.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>rgb2ycbcr</I>
converts
<FONT SIZE="-1">RGB</FONT>
color, greyscale, or bi-level
<FONT SIZE="-1">TIFF</FONT>
images to YCbCr images by
transforming and sampling pixel data.
If multiple files are specified on the command line
each source file is converted to a separate directory
in the destination file.
<P>
By default, chrominance samples are created by sampling
2 by 2 blocks of luminance values; this can be changed with
the
<B>-h</B>
and
<B>-v</B>
options.
Output data are compressed with the
<FONT SIZE="-1">LZW</FONT>
compression scheme, by default; an alternate scheme can be
selected with the
<B>-c</B>
option.
By default, output data are compressed in strips with
the number of rows in each strip selected so that the
size of a strip is never more than 8 kilobytes;
the
<B>-r</B>
option can be used to explicitly set the number of
rows per strip.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify a compression scheme to use when writing image data:
<B>-c none</B>
for no compression,
<B>-c packbits</B>
for the PackBits compression algorithm,
<B>-c jpeg</B>
for the JPEG compression algorithm,
and
<B>-c lzw</B>
for Lempel-Ziv &amp; Welch (the default).
<DT><B>-h</B>
<DD>
Set the horizontal sampling dimension to one of: 1, 2 (default), or 4.
<DT><B>-r</B>
<DD>
Write data with a specified number of rows per strip;
by default the number of rows/strip is selected so that each strip
is approximately 8 kilobytes.
<DT><B>-v</B>
<DD>
Set the vertical sampling dimension to one of: 1, 2 (default), or 4.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+123
View File
@@ -0,0 +1,123 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of SGI2TIFF</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>SGI2TIFF</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
sgi2tiff - create a
<FONT SIZE="-1">TIFF</FONT>
file from an
<FONT SIZE="-1">SGI</FONT>
image file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>sgi2tiff</B>
[
<I>options</I>
]
<I>input.rgb</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>sgi2tiff</I>
converts a file in the
<FONT SIZE="-1">SGI</FONT>
image format to
<FONT SIZE="-1">TIFF.</FONT>
By default, the
<FONT SIZE="-1">TIFF</FONT>
image is created with data samples packed (<I>PlanarConfiguration</I>=1),
compressed with the Lempel-Ziv &amp; Welch algorithm (<I>Compression</I>=5),
and with each strip no more than 8 kilobytes.
These characteristics can overriden, or explicitly specified
with the options described below.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify a compression scheme to use when writing image data:
<B>-c none</B>
for no compression,
<B>-c packbits</B>
for the PackBits compression algorithm),
<B>-c jpeg</B>
for the baseline JPEG compression algorithm,
<B>-c zip</B>
for the Deflate compression algorithm,
and
<B>-c lzw</B>
for Lempel-Ziv &amp; Welch (the default).
<DT><B>-p</B>
<DD>
Explicitly select the planar configuration used in organizing
data samples in the output image:
<B>-p contig</B>
for samples packed contiguously, and
<B>-p separate</B>
for samples stored separately.
By default samples are packed.
<DT><B>-r</B>
<DD>
Write data with a specified number of rows per strip;
by default the number of rows/strip is selected so that each strip
is approximately 8 kilobytes.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>
Does not record colormap information.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+123
View File
@@ -0,0 +1,123 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of THUMBNAIL</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>THUMBNAIL</H1>
Section: User Commands (1)<BR>Updated: September 26, 1994<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
thumbnail - create a
<FONT SIZE="-1">TIFF</FONT>
file with thumbnail images
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>thumbnail</B>
[
<I>options</I>
]
<I>input.tif</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>thumbnail</I>
is a program written to show how one might use the
SubIFD tag (#330) to store thumbnail images.
<I>thumbnail</I>
copies a
<FONT SIZE="-1">TIFF</FONT>
Class F facsimile file to the output file
and for each image an 8-bit greyscale
<I>thumbnail sketch</I>.
The output file contains the thumbnail image with the associated
full-resolution page linked below with the SubIFD tag.
<P>
By default, thumbnail images are 216 pixels wide by 274 pixels high.
Pixels are calculated by sampling and filtering the input image
with each pixel value passed through a contrast curve.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-w</B>
<DD>
Specify the width of thumbnail images in pixels.
<DT><B>-h</B>
<DD>
Specify the height of thumbnail images in pixels.
<DT><B>-c</B>
<DD>
Specify a contrast curve to apply in generating the thumbnail images.
By default pixels values are passed through a linear contrast curve
that simply maps the pixel value ranges.
Alternative curves are:
<B>exp50</B>
for a 50% exponential curve,
<B>exp60</B>
for a 60% exponential curve,
<B>exp70</B>
for a 70% exponential curve,
<B>exp80</B>
for a 80% exponential curve,
<B>exp90</B>
for a 90% exponential curve,
<B>exp</B>
for a pure exponential curve,
<B>linear</B>
for a linear curve.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>
There are no options to control the format of the saved thumbnail images.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffdump+1.html">tiffdump</A></I>(1),
<I><A HREF="tiffgt+1.html">tiffgt</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+125
View File
@@ -0,0 +1,125 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFF2BW</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFF2BW</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiff2bw - convert a color
<FONT SIZE="-1">TIFF</FONT>
image to greyscale
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiff2bw</B>
[
options
]
<I>input.tif</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>Tiff2bw</I>
converts an
<FONT SIZE="-1">RGB</FONT>
or Palette color
<FONT SIZE="-1">TIFF</FONT>
image to a greyscale image by
combining percentages of the red, green, and blue channels.
By default, output samples are created by taking
28% of the red channel, 59% of the green channel, and 11% of
the blue channel.
To alter these percentages, the
<B>-R</B>,
<B>-G</B>,
and
<B>-B</B>
options may be used.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify a compression scheme to use when writing image data:
<B>-c none</B>
for no compression,
<B>-c packbits</B>
for the PackBits compression algorithm,
<B>-c zip</B>
for the Deflate compression algorithm,
<B>-c g3</B>
for the CCITT Group 3 compression algorithm,
<B>-c g4</B>
for the CCITT Group 4 compression algorithm,
and
<B>-c lzw</B>
for Lempel-Ziv &amp; Welch (the default).
<DT><B>-r</B>
<DD>
Write data with a specified number of rows per strip;
by default the number of rows/strip is selected so that each strip
is approximately 8 kilobytes.
<DT><B>-R</B>
<DD>
Specify the percentage of the red channel to use (default 28).
<DT><B>-G</B>
<DD>
Specify the percentage of the green channel to use (default 59).
<DT><B>-B</B>
<DD>
Specify the percentage of the blue channel to use (default 11).
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+237
View File
@@ -0,0 +1,237 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFF2PS</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFF2PS</H1>
Section: User Commands (1)<BR>Updated: January 27, 1997<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiff2ps - convert a
<FONT SIZE="-1">TIFF</FONT>
image to P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT>tm
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiff2ps</B>
[
<I>options</I>
]
<I>input.tif ...</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiff2ps</I>
reads
<FONT SIZE="-1">TIFF</FONT>
images and writes P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> or Encapsulated P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> (EPS)
on the standard output.
By default,
<I>tiff2ps</I>
writes Encapsulated P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> for the first image in the specified
<FONT SIZE="-1">TIFF</FONT>
image file.
<P>
By default,
<I>tiff2ps</I>
will generate P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> that fills a printed area specified
by the
<FONT SIZE="-1">TIFF</FONT>
tags in the input file.
If the file does not contain
<I>XResolution</I>
or
<I>YResolution</I>
tags, then the printed area is set according to the image dimensions.
The
<B>-w</B>
and
<B>-h</B>
options (see below)
can be used to set the dimensions of the printed area in inches;
overriding any relevant
<FONT SIZE="-1">TIFF</FONT>
tags.
<P>
The P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> generated for
<FONT SIZE="-1">RGB,</FONT>
palette, and
<FONT SIZE="-1">CMYK</FONT>
images uses the
<I>colorimage</I>
operator.
The P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> generated for
greyscale and bilevel images
uses the
<I>image</I>
operator.
When the
<I>colorimage</I>
operator is used, P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> code to emulate this operator
on older P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> printers is also generated.
Note that this emulation code can be very slow.
<P>
Color images with associated alpha data are composited over
a white background.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-1</B>
<DD>
Generate P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> Level I (the default).
<DT><B>-2</B>
<DD>
Generate P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> Level II.
<DT><B>-a</B>
<DD>
Generate output for all IFDs (pages) in the input file.
<DT><B>-d</B>
<DD>
Set the initial
<FONT SIZE="-1">TIFF</FONT>
directory to the specified directory number.
(NB: directories are numbered starting at zero.)
This option is useful for selecting individual pages in a
multi-page (e.g. facsimile) file.
<DT><B>-e</B>
<DD>
Force the generation of Encapsulated P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT>.
<DT><B>-h</B>
<DD>
Specify the vertical size of the printed area (in inches).
<DT><B>-o</B>
<DD>
Set the initial
<FONT SIZE="-1">TIFF</FONT>
directory to the
<FONT SIZE="-1">IFD</FONT>
at the specified file offset.
This option is useful for selecting thumbnail images and the
like which are hidden using the SubIFD tag.
<DT><B>-p</B>
<DD>
Force the generation of (non-Encapsulated) P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT>.
<DT><B>-s</B>
<DD>
Generate output for a single IFD (page) in the input file.
<DT><B>-w</B>
<DD>
Specify the horizontal size of the printed area (in inches).
<DT><B>-z</B>
<DD>
When generating P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> Level II, data is scaled so that it does not
image into the
<I>deadzone</I>
on a page (the outer margin that the printing device is unable to mark).
This option suppresses this behaviour.
When P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> Level I is generated, data is imaged to the entire printed
page and this option has no affect.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>EXAMPLES</H2>
The following generates P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> Level II for all pages of a facsimile:
<DL COMPACT><DT><DD>
<PRE>
tiff2ps -a2 fax.tif | lpr
</PRE>
</DL>
Note also that if you have version 2.6.1 or newer of Ghostscript then you
can efficiently preview facsimile generated with the above command.
<P>
To generate Encapsulated P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> for a the image at directory 2
of an image use:
<DL COMPACT><DT><DD>
<PRE>
tiff2ps -d 1 foo.tif
</PRE>
</DL>
(notice that directories are numbered starting at zero.)
<A NAME="lbAG">&nbsp;</A>
<H2>BUGS</H2>
Because P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> does not support the notion of a colormap,
8-bit palette images produce 24-bit P<FONT SIZE="-2">OST</FONT>S<FONT SIZE="-2">CRIPT</FONT> images.
This conversion results in output that is six times
bigger than the original image and which takes a long time
to send to a printer over a serial line.
Matters are even worse for 4-, 2-, and 1-bit palette images.
<A NAME="lbAH">&nbsp;</A>
<H2>BUGS</H2>
Does not handle tiled images when generating PS Level I output.
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffgt+1.html">tiffgt</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="tiff2bw+1.html">tiff2bw</A></I>(1),
<I><A HREF="tiffsv+1.html">tiffsv</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">EXAMPLES</A><DD>
<DT><A HREF="#lbAG">BUGS</A><DD>
<DT><A HREF="#lbAH">BUGS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+106
View File
@@ -0,0 +1,106 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFCMP</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFCMP</H1>
Section: User Commands (1)<BR>Updated: September 26, 1994<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffcmp - compare two
<FONT SIZE="-1">TIFF</FONT>
files
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffcmp</B>
[
<I>options</I>
]
<I>file1.tif file2.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>Tiffcmp</I>
compares the tags and data in two files created according
to the Tagged Image File Format, Revision 6.0.
The schemes used for compressing data in each file
are immaterial when data are compared-data are compared on
a scanline-by-scanline basis after decompression.
Most directory tags are checked; notable exceptions are:
<I>GrayResponseCurve</I>,
<I>ColorResponseCurve</I>,
and
<I>ColorMap</I>
tags.
Data will not be compared if any of the
<I>BitsPerSample</I>,
<I>SamplesPerPixel</I>,
or
<I>ImageWidth</I>
values are not equal.
By default,
<I>tiffcmp</I>
will terminate if it encounters any difference.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-l</B>
<DD>
List each byte of image data that differs between the files.
<DT><B>-t</B>
<DD>
Ignore any differences in directory tags.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>
Tags that are not recognized by the library are not
compared; they may also generate spurious diagnostics.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:47 GMT, November 23, 1999
</BODY>
</HTML>
+291
View File
@@ -0,0 +1,291 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFCP</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFCP</H1>
Section: User Commands (1)<BR>Updated: January 9, 1996<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffcp - copy (and possibly convert) a
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffcp</B>
[
<I>options</I>
]
<I>src1.tif ... srcN.tif dst.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiffcp</I>
combines one or more files created according
to the Tag Image File Format, Revision 6.0
into a single
<FONT SIZE="-1">TIFF</FONT>
file.
Because the output file may be compressed using a different
algorithm than the input files,
<I>tiffcp</I>
is most often used to convert between different compression
schemes.
<P>
By default,
<I>tiffcp</I>
will copy all the understood tags in a
<FONT SIZE="-1">TIFF</FONT>
directory of an input
file to the associated directory in the output file.
<P>
<I>tiffcp</I>
can be used to reorganize the storage characteristics of data
in a file, but it is explicitly intended to not alter or convert
the image data content in any way.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-B</B>
<DD>
Force output to be written with Big-Endian byte order.
This option only has an effect when the output file is created or
overwritten and not when it is appended to.
<DT><B>-C</B>
<DD>
Suppress the use of ``strip chopping'' when reading images
that have a single strip/tile of uncompressed data.
<DT><B>-c</B>
<DD>
Specify the compression to use for data written to the output file:
<B>none </B>
for no compression,
<B>packbits</B>
for PackBits compression,
<B>lzw</B>
for Lempel-Ziv &amp; Welch compression,
<B>jpeg</B>
for baseline JPEG compression,
<B>zip</B>
for Deflate compression,
<B>g3</B>
for CCITT Group 3 (T.4) compression,
and
<B>g4</B>
for CCITT Group 4 (T.6) compression.
By default
<I>tiffcp</I>
will compress data according to the value of the
<I>Compression</I>
tag found in the source file.
<DT><DD>
The
<FONT SIZE="-1">CCITT</FONT>
Group 3 and Group 4 compression algorithms can only
be used with bilevel data.
<DT><DD>
Group 3 compression can be specified together with several
T.4-specific options:
<B>1d</B>
for 1-dimensional encoding,
<B>2d</B>
for 2-dimensional encoding,
and
<B>fill</B>
to force each encoded scanline to be zero-filled so that the
terminating EOL code lies on a byte boundary.
Group 3-specific options are specified by appending a ``:''-separated
list to the ``g3'' option; e.g.
<B>-c g3:2d:fill</B>
to get 2D-encoded data with byte-aligned EOL codes.
<DT><DD>
<FONT SIZE="-1">LZW</FONT>
compression can be specified together with a
<I>predictor</I>
value.
A predictor value of 2 causes
each scanline of the output image to undergo horizontal
differencing before it is encoded; a value
of 1 forces each scanline to be encoded without differencing.
LZW-specific options are specified by appending a ``:''-separated
list to the ``lzw'' option; e.g.
<B>-c lzw:2</B>
for
<FONT SIZE="-1">LZW</FONT>
compression with horizontal differencing.
<DT><B>-f</B>
<DD>
Specify the bit fill order to use in writing output data.
By default,
<I>tiffcp</I>
will create a new file with the same fill order as the original.
Specifying
<B>-f lsb2msb</B>
will force data to be written with the FillOrder tag set to
<FONT SIZE="-1">LSB2MSB,</FONT>
while
<B>-f msb2lsb</B>
will force data to be written with the FillOrder tag set to
<FONT SIZE="-1">MSB2LSB.</FONT>
<DT><B>-l</B>
<DD>
Specify the length of a tile (in pixels).
<I>tiffcp</I>
attempts to set the tile dimensions so
that no more than 8 kilobytes of data appear in a tile.
<DT><B>-L</B>
<DD>
Force output to be written with Little-Endian byte order.
This option only has an effect when the output file is created or
overwritten and not when it is appended to.
<DT><B>-M</B>
<DD>
Suppress the use of memory-mapped files when reading images.
<DT><B>-p</B>
<DD>
Specify the planar configuration to use in writing image data
that has one 8-bit sample per pixel.
By default,
<I>tiffcp</I>
will create a new file with the same planar configuration as
the original.
Specifying
<B>-p contig</B>
will force data to be written with multi-sample data packed
together, while
<B>-p separate</B>
will force samples to be written in separate planes.
<DT><B>-r</B>
<DD>
Specify the number of rows (scanlines) in each strip of data
written to the output file.
By default,
<I>tiffcp</I>
attempts to set the rows/strip
that no more than 8 kilobytes of data appear in a strip.
<DT><B>-s</B>
<DD>
Force the output file to be written with data organized in strips
(rather than tiles).
<DT><B>-t</B>
<DD>
Force the output file to be written wtih data organized in tiles
(rather than strips).
options can be used to force the resultant image to be written
as strips or tiles of data, respectively.
<DT><B>-w</B>
<DD>
Specify the width of a tile (in pixels).
<I>tiffcp</I>
attempts to set the tile dimensions so
that no more than 8 kilobytes of data appear in a tile.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>EXAMPLES</H2>
The following concatenates two files and writes the result using
<FONT SIZE="-1">LZW</FONT>
encoding:
<DL COMPACT><DT><DD>
<PRE>
tiffcp -c lzw a.tif b.tif result.tif
</PRE>
</DL>
<P>
To convert a G3 1d-encoded
<FONT SIZE="-1">TIFF</FONT>
to a single strip of G4-encoded data the following might be used:
<DL COMPACT><DT><DD>
<PRE>
tiffcp -c g4 -r 10000 g3.tif g4.tif
</PRE>
</DL>
(1000 is just a number that is larger than the number of rows in
the source file.)
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcmp+1.html">tiffcmp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="tiffsplit+1.html">tiffsplit</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">EXAMPLES</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
+171
View File
@@ -0,0 +1,171 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFDITHER</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFDITHER</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffdither - convert a greyscale image to bilevel using dithering
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffdither</B>
[
<I>options</I>
]
<I>input.tif</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiffdither</I>
converts a single channel 8-bit greyscale image to a bilevel image
using Floyd-Steinberg error propagation with threholding.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify the compression to use for data written to the output file:
<B>none </B>
for no compression,
<B>packbits</B>
for PackBits compression,
<B>lzw</B>
for Lempel-Ziv &amp; Welch compression,
<B>zip</B>
for Deflate compression,
<B>g3</B>
for CCITT Group 3 (T.4) compression,
and
<B>g4</B>
for CCITT Group 4 (T.6) compression.
By default
<I>tiffdither</I>
will compress data according to the value of the
<I>Compression</I>
tag found in the source file.
<DT><DD>
The
<FONT SIZE="-1">CCITT</FONT>
Group 3 and Group 4 compression algorithms can only
be used with bilevel data.
<DT><DD>
Group 3 compression can be specified together with several
T.4-specific options:
<B>1d</B>
for 1-dimensional encoding,
<B>2d</B>
for 2-dimensional encoding,
and
<B>fill</B>
to force each encoded scanline to be zero-filled so that the
terminating EOL code lies on a byte boundary.
Group 3-specific options are specified by appending a ``:''-separated
list to the ``g3'' option; e.g.
<B>-c g3:2d:fill</B>
to get 2D-encoded data with byte-aligned EOL codes.
<DT><DD>
<FONT SIZE="-1">LZW</FONT>
compression can be specified together with a
<I>predictor</I>
value.
A predictor value of 2 causes
each scanline of the output image to undergo horizontal
differencing before it is encoded; a value
of 1 forces each scanline to be encoded without differencing.
LZW-specific options are specified by appending a ``:''-separated
list to the ``lzw'' option; e.g.
<B>-c lzw:2</B>
for
<FONT SIZE="-1">LZW</FONT>
compression with horizontal differencing.
<DT><B>-f</B>
<DD>
Specify the bit fill order to use in writing output data.
By default,
<I>tiffdither</I>
will create a new file with the same fill order as the original.
Specifying
<B>-f lsb2msb</B>
will force data to be written with the FillOrder tag set to
<FONT SIZE="-1">LSB2MSB ,</FONT>
while
<B>-f msb2lsb</B>
will force data to be written with the FillOrder tag set to
<FONT SIZE="-1">MSB2LSB .</FONT>
<DT><B>-t</B>
<DD>
Set the threshold value for dithering.
By default the threshold value is 128.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>NOTES</H2>
The dither algorithm is taken from the
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1)
program (written by Paul Heckbert).
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="fax2tiff+1.html">fax2tiff</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiff2bw+1.html">tiff2bw</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">NOTES</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
+97
View File
@@ -0,0 +1,97 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFDUMP</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFDUMP</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffdump - print verbatim information about
<FONT SIZE="-1">TIFF</FONT>
files
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffdump</B>
[
<I>options</I>
]
<I>name ...</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiffdump</I>
displays directory information from files created according
to the Tag Image File Format, Revision 6.0.
The header of each
<FONT SIZE="-1">TIFF</FONT>
file (magic number, version, and first directory offset)
is displayed, followed by the tag contents of each directory in the file.
For each tag, the name, datatype, count, and value(s) is displayed.
When the symbolic name for a tag or datatype is known, the symbolic
name is displayed followed by it's numeric (decimal) value.
Tag values are displayed enclosed in ``&lt;&gt;'' characters immediately
preceded by the value of the count field.
For example, an
<I>ImageWidth</I>
tag might be displayed as ``ImageWidth (256) SHORT (3) 1&lt;800&gt;''.
<P>
<I>tiffdump</I>
is particularly useful for investigating the contents of
<FONT SIZE="-1">TIFF</FONT>
files that
<I>libtiff</I>
does not understand.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-h</B>
<DD>
Force numeric data to be printed in hexadecimal rather than the
default decimal.
<DT><B>-o</B>
<DD>
Dump the contents of the
<FONT SIZE="-1">IFD</FONT>
at the a particular file offset.
The file offset may be specified using the usual C-style syntax;
i.e. a leading ``0x'' for hexadecimal and a leading ``0'' for octal.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
+325
View File
@@ -0,0 +1,325 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFGT</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFGT</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffgt - display an image stored in a
<FONT SIZE="-1">TIFF</FONT>
file (Silicon Graphics version)
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffgt</B>
[
<I>options</I>
]
<I>input.tif ...</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiffgt</I>
displays one or more images stored using the
Tag Image File Format, Revision 6.0.
Each image is placed in a fixed size window that the
user must position on the display (unless configured
otherwise through X defaults).
If the display has fewer than 24 bitplanes, or if the
image does not warrant full color, then
<FONT SIZE="-1">RGB</FONT>
color values are mapped to the closest values that exist in
the colormap (this is done using the
<I>rgbi</I>
routine found in the graphics utility library
<B>-lgutil</B>.)
<P>
<I>tiffgt</I>
correctly handles files with any of the following characteristics:
<P>
<PRE>
BitsPerSample 1, 2, 4, 8, 16
SamplesPerPixel 1, 3, 4 (the 4th sample is ignored)
PhotometricInterpretation 0 (min-is-white), 1 (min-is-black), 2 (RGB), 3 (palette), 6 (YCbCr)
PlanarConfiguration 1 (contiguous), 2 (separate)
Orientation 1 (top-left), 4 (bottom-left)
</PRE>
<P>
Data may be organized as strips or tiles and may be
compressed with any of the compression algorithms supported
by the
<I><A HREF="libtiff+3">libtiff</A></I>(3)
library.
<P>
For palette images (<I>PhotomatricInterpretation</I>=3),
<I>tiffgt</I>
inspects the colormap values and assumes either 16-bit
or 8-bit values according to the maximum value.
That is, if no colormap entry greater than 255 is found,
<I>tiffgt</I>
assumes the colormap has only 8-bit values; otherwise
it assumes 16-bit values.
This inspection is done to handle old images written by
previous (incorrect) versions of
<I>libtiff</I>.
<P>
<I>tiffgt</I>
can be used to display multiple images one-at-a-time.
The left mouse button switches the display to the first image in the
<I>next</I>
file in the list of files specified on the command line.
The right mouse button switches to the first image in the
<I>previous</I>
file in the list.
The middle mouse button causes the first image in the first file
specified on the command line to be displayed.
In addition the following keyboard commands are recognized:
<DL COMPACT>
<DT><B>b</B>
<DD>
Use a
<I>PhotometricIntepretation</I>
of MinIsBlack in displaying the current image.
<DT><B>l</B>
<DD>
Use a
<I>FillOrder</I>
of lsb-to-msb in decoding the current image.
<DT><B>m</B>
<DD>
Use a
<I>FillOrder</I>
of msb-tolmsb in decoding the current image.
<DT><B>c</B>
<DD>
Use a colormap visual to display the current image.
<DT><B>r</B>
<DD>
Use a true color (24-bit RGB) visual to display the current image.
<DT><B>w</B>
<DD>
Use a
<I>PhotometricIntepretation</I>
of MinIsWhite in displaying the current image.
<DT><B>W</B>
<DD>
Toggle (enable/disable) display of warning messages from the
<FONT SIZE="-1">TIFF</FONT>
library when decoding images.
<DT><B>E</B>
<DD>
Toggle (enable/disable) display of error messages from the
<FONT SIZE="-1">TIFF</FONT>
library when decoding images.
<DT><B>z</B>
<DD>
Reset all parameters to their default settings (<I>FillOrder</I>,
<I>PhotometricInterpretation</I>,
handling of warnings and errors).
<DT><B>PageUp</B>
<DD>
Display the previous image in the current file or the last
image in the previous file.
<DT><B>PageDown</B>
<DD>
Display the next image in the current file or the first image
in the next file.
<DT><B>Home</B>
<DD>
Display the first image in the current file.
<DT><B>End</B>
<DD>
Display the last image in the current file (unimplemented).
</DL>
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Force image display in a colormap window.
<DT><B>-d</B>
<DD>
Specify an image to display by directory number.
By default the first image in the file is displayed.
Directories are numbered starting at zero.
<DT><B>-e</B>
<DD>
Enable reporting of error messages from the
<FONT SIZE="-1">TIFF</FONT>
library.
By default
<I>tiffgt</I>
silently ignores images that cannot be read.
<DT><B>-f</B>
<DD>
Force
<I>tiffgt</I>
to run as a foreground process.
By default
<I>tiffgt</I>
will place itself in the background once it has opened the
requested image file.
<DT><B>-l</B>
<DD>
Force the presumed bit ordering to be
<FONT SIZE="-1">LSB</FONT>
to
<FONT SIZE="-1">MSB.</FONT>
<DT><B>-m</B>
<DD>
Force the presumed bit ordering to be
<FONT SIZE="-1">MSB</FONT>
to
<FONT SIZE="-1">LSB.</FONT>
<DT><B>-o</B>
<DD>
Specify an image to display by directory offset.
By default the first image in the file is displayed.
Directories offsets may be specified using C-style syntax;
i.e. a leading ``0x'' for hexadecimal and a leading ``0'' for octal.
<DT><B>-p</B>
<DD>
Override the value of the
<I>PhotometricInterpretation</I>
tag; the parameter may be one of:
<I>miniswhite</I>,
<I>minisblack</I>,
<I>rgb</I>,
<I>palette</I>,
<I>mask</I>,
<I>separated</I>,
<I>ycbcr</I>,
and
<I>cielab</I>.
<DT><B>-r</B>
<DD>
Force image display in a full color window.
<DT><B>-s</B>
<DD>
Stop on the first read error.
By default all errors in the input data are ignored and
<I>tiffgt</I>
does it's best to display as much of an image as possible.
<DT><B>-w</B>
<DD>
Enable reporting of warning messages from the
<FONT SIZE="-1">TIFF</FONT>
library.
By default
<I>tiffgt</I>
ignores warning messages generated when reading an image.
<DT><B>-v</B>
<DD>
Place information in the title bar describing
what type of window (full color or colormap) is being
used, the name of the input file, and the directory
index of the image (if non-zero).
By default, the window type is not shown in the title bar.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>
Images wider and taller than the display are silently truncated to avoid
crashing old versions of the window manager.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffdump+1.html">tiffdump</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
+114
View File
@@ -0,0 +1,114 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFINFO</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFINFO</H1>
Section: User Commands (1)<BR>Updated: January 27, 1997<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffinfo - print information about
<FONT SIZE="-1">TIFF</FONT>
files
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffinfo</B>
[
<I>options</I>
]
<I>input.tif ...</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>Tiffinfo</I>
displays information about files created according
to the Tag Image File Format, Revision 6.0.
By default, the contents of each
<FONT SIZE="-1">TIFF</FONT>
directory in each file
is displayed, with the value of each tag shown symbolically
(where sensible).
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Display the colormap and color/gray response curves, if present.
<DT><B>-D</B>
<DD>
In addition to displaying the directory tags,
read and decompress all the data in each image (but not display it).
<DT><B>-d</B>
<DD>
In addition to displaying the directory tags,
print each byte of decompressed data in hexadecimal.
<DT><B>-j</B>
<DD>
Display any <FONT SIZE="-2">JPEG</FONT>-related tags that are present.
<DT><B>-o</B>
<DD>
Set the initial
<FONT SIZE="-1">TIFF</FONT>
directory according to the specified file offset.
The file offset may be specified using the usual C-style syntax;
i.e. a leading ``0x'' for hexadecimal and a leading ``0'' for octal.
<DT><B>-s</B>
<DD>
Display the offsets and byte counts for each data strip in a directory.
<DT><B>-z</B>
<DD>
Enable strip chopping when reading image data.
<DT><B>-#</B>
<DD>
Set the initial
<FONT SIZE="-1">TIFF</FONT>
directory to
<I>#</I>.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffcmp+1.html">tiffcmp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
+150
View File
@@ -0,0 +1,150 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFMEDIAN</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFMEDIAN</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffmedian - apply the median cut algorithm to data in a
<FONT SIZE="-1">TIFF</FONT>
file
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffmedian</B>
[
<I>options</I>
]
<I>input.tif</I>
<I>output.tif</I>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiffmedian</I>
applys the median cut algorithm to an
<FONT SIZE="-1">RGB</FONT>
image in
<I>input.tif</I>
to generate a palette image that is written to
<I>output.tif</I>.
The generated colormap has, by default, 256 entries.
The image data is quantized by mapping each
pixel to the closest color values in the colormap.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-c</B>
<DD>
Specify the compression to use for data written to the output file:
<B>none </B>
for no compression,
<B>packbits</B>
for PackBits compression,
<B>lzw</B>
for Lempel-Ziv &amp; Welch compression,
and
<B>zip</B>
for Deflate compression.
By default
<I>tiffmedian</I>
will compress data according to the value of the
<I>Compression</I>
tag found in the source file.
<DT><DD>
<FONT SIZE="-1">LZW</FONT>
compression can be specified together with a
<I>predictor</I>
value.
A predictor value of 2 causes
each scanline of the output image to undergo horizontal
differencing before it is encoded; a value
of 1 forces each scanline to be encoded without differencing.
LZW-specific options are specified by appending a ``:''-separated
list to the ``lzw'' option; e.g.
<B>-c lzw:2</B>
for
<FONT SIZE="-1">LZW</FONT>
compression with horizontal differencing.
<DT><B>-C</B>
<DD>
Specify the number of entries to use in the generated colormap.
By default all 256 entries/colors are used.
<DT><B>-f</B>
<DD>
Apply Floyd-Steinberg dithering before selecting a colormap entry.
<DT><B>-r</B>
<DD>
Specify the number of rows (scanlines) in each strip of data
written to the output file.
By default,
<I>tiffmedian</I>
attempts to set the rows/strip
that no more than 8 kilobytes of data appear in a strip.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>NOTES</H2>
This program is derived from Paul Heckbert's
<I>median</I>
program.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffcmp+1.html">tiffcmp</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<P>
&quot;Color Image Quantization for Frame Buffer Display&quot;, Paul
Heckbert, SIGGRAPH proceedings, 1982, pp. 297-307.
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">NOTES</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
+90
View File
@@ -0,0 +1,90 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFCP</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFCP</H1>
Section: User Commands (1)<BR>Updated: September 26, 1994<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffsplit - split a multi-image
<FONT SIZE="-1">TIFF</FONT>
into single-image
<FONT SIZE="-1">TIFF</FONT>
files
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffsplit</B>
<I>src.tif</I>
[
<I>prefix</I>
]
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiffsplit</I>
takes a multi-directory (page)
<FONT SIZE="-1">TIFF</FONT>
file and creates one or more single-directory (page)
<FONT SIZE="-1">TIFF</FONT>
files from it.
The output files are given names created by concatenating
a prefix, a lexically ordered
suffix in the range [<I>aa</I>-<I>zz</I>], the suffix
<I>.tif </I>
(e.g.
<I>xaa.tif</I>,
<I>xab.tif</I>,
...
<I>xzz.tif</I>).
If a prefix is not specified on the command line,
the default prefix of
<I>x</I>
is used.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
None.
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>
Only a select set of ``known tags'' is copied when spliting.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
+192
View File
@@ -0,0 +1,192 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manpage of TIFFSV</TITLE>
</HEAD><BODY BGCOLOR=WHITE><FONT FACE="helvetica, sans, arial">
<H1>TIFFSV</H1>
Section: User Commands (1)<BR>Updated: October 15, 1995<BR><A HREF="#index">Index</A>
<BR><A HREF="index.html">Return to Main Contents</A>
<HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
tiffsv - save an image from the framebuffer in a
<FONT SIZE="-1">TIFF</FONT>
file (Silicon Graphics version)
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>tiffsv</B>
[
<I>options</I>
]
<I>output.tif</I>
[
<I>x1 x2 y1 y2</I>
]
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<I>tiffsv</I>
saves all or part of the framebuffer in a file using the
Tag Image File Format, Revision 6.0.
By default, the image is saved with data samples packed (<I>PlanarConfiguration</I>=1),
compressed with the Lempel-Ziv &amp; Welch algorithm (<I>Compression</I>=5),
and with each strip no more than 8 kilobytes.
These characteristics can be overriden, or explicitly specified
with the options described below.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-b</B>
<DD>
Save the image as a greyscale image
as if it were processed by
<I><A HREF="tiff2bw+1.html">tiff2bw</A></I>(1).
This option is included for compatibility with the standard
<I><A HREF="scrsave+6d">scrsave</A></I>(6D)
program.
<DT><B>-c</B>
<DD>
Specify the compression to use for data written to the output file:
<B>none </B>
for no compression,
<B>packbits</B>
for PackBits compression,
<B>jpeg</B>
for baseline JPEG compression,
<B>zip</B>
for Deflate compression,
and
<B>lzw</B>
for Lempel-Ziv &amp; Welch compression (default).
<DT><DD>
<FONT SIZE="-1">LZW</FONT>
compression can be specified together with a
<I>predictor</I>
value.
A predictor value of 2 causes
each scanline of the output image to undergo horizontal
differencing before it is encoded; a value
of 1 forces each scanline to be encoded without differencing.
LZW-specific options are specified by appending a ``:''-separated
list to the ``lzw'' option; e.g.
<B>-c lzw:2</B>
for
<FONT SIZE="-1">LZW</FONT>
compression with horizontal differencing.
<DT><B>-p</B>
<DD>
Specify the planar configuration to use in writing image data.
By default,
<I>tiffsv</I>
will create a new file with the data samples packed contiguously.
Specifying
<B>-p contig</B>
will force data to be written with multi-sample data packed
together, while
<B>-p separate</B>
will force samples to be written in separate planes.
<DT><B>-r</B>
<DD>
Specify the number of rows (scanlines) in each strip of data
written to the output file.
By default,
<I>tiffsv</I>
attempts to set the rows/strip
that no more than 8 kilobytes of data appear in a strip.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>NOTE</H2>
Except for the use of
<FONT SIZE="-1">TIFF,</FONT>
this program is equivalent to the standard
<I>scrsave</I>
program.
This means, for example, that you can use it in conjunction with
the standard
<I>icut</I>
program simply by creating a link called
<I>scrsave</I>,
or by creating a shell script called
<I>scrsave</I>
that invokes
<I>tiffgt</I>
with the appropriate options.
<A NAME="lbAG">&nbsp;</A>
<H2>BUGS</H2>
If data are saved compressed and in separate planes, then the
rows in each strip is silently set to one to avoid limitations
in the
<I><A HREF="libtiff+3">libtiff</A></I>(3)
library.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<I><A HREF="scrsave+6d">scrsave</A></I>(6D)
<I><A HREF="pal2rgb+1.html">pal2rgb</A></I>(1),
<I><A HREF="tiffdump+1.html">tiffdump</A></I>(1),
<I><A HREF="tiffgt+1.html">tiffgt</A></I>(1),
<I><A HREF="tiffinfo+1.html">tiffinfo</A></I>(1),
<I><A HREF="tiffcp+1.html">tiffcp</A></I>(1),
<I><A HREF="tiffmedian+1.html">tiffmedian</A></I>(1),
<I><A HREF="libtiff+3">libtiff</A></I>(3)
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">NOTE</A><DD>
<DT><A HREF="#lbAG">BUGS</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="index.html">man2html</A>,
using the manual pages.<BR>
Time: 01:31:48 GMT, November 23, 1999
</BODY>
</HTML>
Executable
+93
View File
@@ -0,0 +1,93 @@
<HTML>
<HEAD>
<TITLE>
Acknowledgments and Other Issues
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/ring.gif WIDTH=124 HEIGHT=124 ALIGN=left BORDER=1 HSPACE=6>
Acknowledgments and Other Issues
</H1>
<P>
Silicon Graphics has seen fit to allow me to give this work away. It
is free. There is no support or guarantee of any sort as to its
operations, correctness, or whatever. If you do anything useful with
all or parts of it you need to honor the copyright notices. I would
also be interested in knowing about it and, hopefully, be acknowledged.
<BR CLEAR=left>
<H2>Acknowledgements</H2>
The LZW algorithm is derived from the compress program (the proper
attribution is included in the source code). The Group 3 fax stuff
originated as code from Jef Poskanzer, but has since been rewritten
several times. The latest version uses an algorithm from Frank
Cringle -- consult <TT>libtiff/mkg3states.c</TT> and
<TT>libtiff/tif_fax3.h</TT> for further information.
The JPEG support was written by Tom Lane and is dependent on the
excellent work of Tom Lane and the Independent JPEG Group (IJG)
who distribute their work under friendly licensing similar to this
software.
Many other people have by now helped with bug fixes and code; a
few of the more persistent contributors have been:
<PRE>
Bjorn P. Brox Dan McCoy
J.T. Conklin Richard Minner
Frank D. Cringle Richard Mlynarik
Soren Pingel Dalsgaard Niles Ritter
Steve Johnson Karsten Spang
Tom Lane Peter Smith
</PRE>
(my apology to anyone that was inadvertently not listed.)
<H2>Warning</H2>
It appears that Unisys is actively pursuing copyright control on the
LZW compression algorithm. In particular, users of the LZW compression
within the TIFF framework. For this reason the TIFF 6.0 spec states
that LZW compression is not recommended. It is unclear at this time
what compression algorithm will be used in place of it. I have no idea
what this means to you or to this library. I make no warranty or
guarantees with regard to the LZW support in this library.
<H2>Use and Copyright</H2>
<P><H5><PRE>
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.
</PRE></H5>
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+682
View File
@@ -0,0 +1,682 @@
<HTML>
<HEAD>
<TITLE>
TIFF 6.0 Specification Coverage
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Sans, Helvetica">
<H1>
<IMG SRC=images/strike.gif WIDTH=128 HEIGHT=100 ALIGN=left HSPACE=6>
TIFF 6.0 Specification Coverage
</H1>
<P>
The library is capable of dealing with images that are written to
follow the 5.0 or 6.0 TIFF spec. There is also considerable support
for some of the more esoteric portions of the 6.0 TIFF spec.
<P>
<TABLE BORDER CELLPADDING=3>
<TR>
<TD VALIGN=top>
<I>Core requirements</I>
</TD>
<TD>
Both <TT>"MM"</TT> and <TT>"II"</TT> byte orders are handled.
Both packed and separated planar configuration of samples.
Any number of samples per pixel (memory permitting).
Any image width and height (memory permitting).
Multiple subfiles can be read and written.
Editing is <B>not</B> supported in that related subfiles (e.g.
a reduced resolution version of an image) are not automatically
updated.
<P>
Tags handled:
<TT>ExtraSamples</TT>,
<TT>ImageWidth</TT>,
<TT>ImageLength</TT>,
<TT>NewSubfileType</TT>,
<TT>ResolutionUnit</TT>.
<TT>Rowsperstrip</TT>,
<TT>StripOffsets</TT>,
<TT>StripByteCounts</TT>,
<TT>XResolution</TT>,
<TT>YResolution</TT>,
</TD>
</TR>
<TR>
<TD VALIGN=top><I>Tiled Images</I></TD>
<TD><TT>TileWidth</TT>,
<TT>TileLength</TT>,
<TT>TileOffsets</TT>,
<TT>TileByteCounts</TT>
</TD>
</TR>
<TD VALIGN=top><I>Image Colorimetry Information</I></TD>
<TD><TT>WhitePoint</TT>,
<TT>PrimaryChromaticities</TT>,
<TT>TransferFunction</TT>,
<TT>ReferenceBlackWhite</TT>
</TD>
</TR>
<TR>
<TD VALIGN=top><I>Class B for bilevel images</I></TD>
<TD><TT>SamplesPerPixel</TT> = 1<BR>
<TT>BitsPerSample</TT> = 1<BR>
<TT>Compression</TT> = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)<BR>
<TT>PhotometricInterpretation</TT> = 0 (Min-is-White), 1 (Min-is-Black)<BR>
</TD>
</TR>
<TR>
<TD VALIGN=top><I>Class G for grayscale images</I></TD>
<TD><TT>SamplesPerPixel</TT> = 1<BR>
<TT>BitsPerSample</TT> = 4, 8<BR>
<TT>Compression</TT> = 1 (none) 5 (LZW)<BR>
<TT>PhotometricInterpretation</TT> = 0 (Min-is-White), 1 (Min-is-Black)<BR>
</TD>
</TR>
<TR>
<TD VALIGN=top><I>Class P for palette color images</I></TD>
<TD><TT>SamplesPerPixel</TT> = 1<BR>
<TT>BitsPerSample</TT> = 1-8<BR>
<TT>Compression</TT> = 1 (none) 5 (LZW)<BR>
<TT>PhotometricInterpretation</TT> = 3 (Palette RGB)<BR>
<TT>ColorMap</TT>
</TD>
</TR>
<TR>
<TD VALIGN=top><I>Class R for RGB full color images</I></TD>
<TD><TT>SamplesPerPixel</TT> = 3<BR>
<TT>BitsPerSample</TT> = <8,8,8><BR>
<TT>PlanarConfiguration</TT> = 1, 2<BR>
<TT>Compression</TT> = 1 (none) 5 (LZW)<BR>
<TT>PhotometricInterpretation</TT> = 2 (RGB)<BR>
</TD>
</TR>
<TR>
<TD VALIGN=top><I>Class F for facsimile</I></TD>
<TD>(<I>Class B tags plus...</I>)<BR>
<TT>Compression</TT> = 3 (CCITT Group 3), 4 (CCITT Group 4)<BR>
<TT>FillOrder</TT> = 1 (MSB), 2 (LSB)<BR>
<TT>Group3Options</TT> = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)<BR>
<TT>ImageWidth</TT> = 1728, 2048, 2482<BR>
<TT>NewSubFileType</TT> = 2<BR>
<TT>ResolutionUnit</TT> = 2 (Inch), 3 (Centimeter)<BR>
<TT>PageNumber</TT>,
<TT>XResolution</TT>,
<TT>YResolution</TT>,
<TT>Software</TT>,
<TT>BadFaxLines</TT>,
<TT>CleanFaxData</TT>,
<TT>ConsecutiveBadFaxLines</TT>,
<TT>DateTime</TT>,
<TT>DocumentName</TT>,
<TT>ImageDescription</TT>,
<TT>Orientation</TT>
</TD>
</TR>
<TD VALIGN=top><I>Class S for separated images</I></TD>
<TD><TT>SamplesPerPixel</TT> = 4<BR>
<TT>PlanarConfiguration</TT> = 1, 2<BR>
<TT>Compression</TT> = 1 (none), 5 (LZW)<BR>
<TT>PhotometricInterpretation</TT> = 5 (Separated)<BR>
<TT>InkSet</TT> = 1 (CMYK)<BR>
<TT>DotRange</TT>,
<TT>InkNames</TT>,
<TT>DotRange</TT>,
<TT>TargetPrinter</TT>
</TD>
</TR>
<TD VALIGN=top><I>Class Y for YCbCr images</I></TD>
<TD><TT>SamplesPerPixel</TT> = 3<BR>
<TT>BitsPerSample</TT> = <8,8,8><BR>
<TT>PlanarConfiguration</TT> = 1, 2<BR>
<TT>Compression</TT> = 1 (none), 5 (LZW), 7 (JPEG)<BR>
<TT>PhotometricInterpretation</TT> = 6 (YCbCr)<BR>
<TT>YCbCrCoefficients</TT>,
<TT>YCbCrSubsampling</TT>,
<TT>YCbCrPositioning</TT><BR>
(<I>colorimetry info from Appendix H; see above</I>)
</TD>
</TR>
<TR>
<TD VALIGN=top><I>Class "JPEG" for JPEG images (per TTN2)</I></TD>
<TD><TT>PhotometricInterpretation</TT> = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)<BR>
(<I>Class Y tags if YCbCr</I>)<BR>
(<I>Class S tags if CMYK</I>)<BR>
<TT>Compression</TT> = 7 (JPEG)<BR>
</TD>
</TR>
</TABLE>
<P>
In addition, the library supports some optional compression algorithms
that are, in some cases, of dubious value.
<PRE>
Compression = 32766 NeXT 2-bit encoding
Compression = 32809 ThunderScan 4-bit encoding
Compression = 32909 Pixar companded 11-bit ZIP encoding
Compression = 32946 PKZIP-style Deflate encoding (experimental)
Compression = 34676 SGI 32-bit Log Luminance encoding (experimental)
Compression = 34677 SGI 24-bit Log Luminance encoding (experimental)
</PRE>
Note that there is no support for the JPEG-related tags defined
in the 6.0 specification; the JPEG support is based on the post-6.0
proposal given in TIFF Technical Note #2.
<P>
<TABLE>
<TR>
<TD VALIGN=top><IMG SRC="images/info.gif"></TD>
<TD>
<EM>
For more information on the experimental Log Luminance encoding
consult the materials available at
<A HREF=http://www.sgi.com/Technology/pixformat>http://www.sgi.com/Technology/pixformat</A>.
</EM>
</TD>
</TR>
</TABLE>
<P>
The following table shows the tags that are recognized
and how they are used by the library. If no use is indicated,
then the library
reads and writes the tag, but does not use it internally.
<P>
<TABLE BORDER WIDTH=100% CELLPADDING=2>
<TR>
<TH ALIGN=left>Tag Name</TH> <TH>Value</TH> <TH ALIGN=center>R/W</TH> <TH ALIGN=left>Library's Use (Comments)</TH>
</TR>
<TR>
<TD><TT>NewSubFileType</TT></TD>
<TD ALIGN=center>254</TD>
<TD ALIGN=center>R/W</TD>
<TD>none (called <TT>SubFileType</TT> in &lt;tiff.h&gt;)</TD>
</TR>
<TR>
<TD><TT>SubFileType</TT></TD>
<TD ALIGN=center>255</TD>
<TD ALIGN=center>R/W</TD>
<TD>none (called <TT>OSubFileType</TT> in &lt;tiff.h&gt;)</TD>
</TR>
<TR>
<TD><TT>ImageWidth</TT></TD>
<TD ALIGN=center>256</TD>
<TD ALIGN=center>R/W</TD>
<TD>lots</TD>
</TR>
<TR>
<TD><TT>ImageLength</TT></TD>
<TD ALIGN=center>257</TD>
<TD ALIGN=center>R/W</TD>
<TD>lots</TD>
</TR>
<TR>
<TD><TT>BitsPerSample</TT></TD>
<TD ALIGN=center>258</TD>
<TD ALIGN=center>R/W</TD>
<TD>lots</TD>
</TR>
<TR>
<TD><TT>Compression</TT></TD>
<TD ALIGN=center>259</TD>
<TD ALIGN=center>R/W</TD>
<TD>to select appropriate codec</TD>
</TR>
<TR>
<TD><TT>PhotometricInterpretation</TT></TD>
<TD ALIGN=center>262</TD>
<TD ALIGN=center>R/W</TD>
<TD>lots</TD>
</TR>
<TR>
<TD><TT>Thresholding</TT></TD>
<TD ALIGN=center>263</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>CellWidth</TT></TD>
<TD ALIGN=center>264</TD>
<TD>&nbsp;</TD>
<TD>parsed but ignored</TD>
</TR>
<TR>
<TD><TT>CellLength</TT></TD>
<TD ALIGN=center>265</TD>
<TD>&nbsp;</TD>
<TD>parsed but ignored</TD>
</TR>
<TR>
<TD><TT>FillOrder</TT></TD>
<TD ALIGN=center>266</TD>
<TD ALIGN=center>R/W</TD>
<TD>control bit order</TD>
</TR>
<TR>
<TD><TT>DocumentName</TT></TD>
<TD ALIGN=center>269</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>ImageDescription</TT></TD>
<TD ALIGN=center>270</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>Make</TT></TD>
<TD ALIGN=center>271</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>Model</TT></TD>
<TD ALIGN=center>272</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>StripOffsets</TT></TD>
<TD ALIGN=center>273</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>Orientation</TT></TD>
<TD ALIGN=center>274</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>SamplesPerPixel</TT></TD>
<TD ALIGN=center>277</TD>
<TD ALIGN=center>R/W</TD>
<TD>lots</TD>
</TR>
<TR>
<TD><TT>RowsPerStrip</TT></TD>
<TD ALIGN=center>278</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>StripByteCounts</TT></TD>
<TD ALIGN=center>279</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>MinSampleValue</TT></TD>
<TD ALIGN=center>280</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>MaxSampleValue</TT></TD>
<TD ALIGN=center>281</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>XResolution</TT></TD>
<TD ALIGN=center>282</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>YResolution</TT></TD>
<TD ALIGN=center>283</TD>
<TD ALIGN=center>R/W</TD>
<TD>used by Group 3 2d encoder</TD>
</TR>
<TR>
<TD><TT>PlanarConfiguration</TT></TD>
<TD ALIGN=center>284</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>PageName</TT></TD>
<TD ALIGN=center>285</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>XPosition</TT></TD>
<TD ALIGN=center>286</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>YPosition</TT></TD>
<TD ALIGN=center>286</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>FreeOffsets</TT></TD>
<TD ALIGN=center>288</TD>
<TD>&nbsp;</TD>
<TD>parsed but ignored</TD>
</TR>
<TR>
<TD><TT>FreeByteCounts</TT></TD>
<TD ALIGN=center>289</TD>
<TD>&nbsp;</TD>
<TD>parsed but ignored</TD>
</TR>
<TR>
<TD><TT>GrayResponseUnit</TT></TD>
<TD ALIGN=center>290</TD>
<TD>&nbsp;</TD>
<TD>parsed but ignored</TD>
</TR>
<TR>
<TD><TT>GrayResponseCurve</TT></TD>
<TD ALIGN=center>291</TD>
<TD>&nbsp;</TD>
<TD>parsed but ignored</TD>
</TR>
<TR>
<TD><TT>Group3Options</TT></TD>
<TD ALIGN=center>292</TD>
<TD ALIGN=center>R/W</TD>
<TD>used by Group 3 codec</TD>
</TR>
<TR>
<TD><TT>Group4Options</TT></TD>
<TD ALIGN=center>293</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>ResolutionUnit</TT></TD>
<TD ALIGN=center>296</TD>
<TD ALIGN=center>R/W</TD>
<TD>used by Group 3 2d encoder</TD>
</TR>
<TR>
<TD><TT>PageNumber</TT></TD>
<TD ALIGN=center>297</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>ColorResponseUnit</TT></TD>
<TD ALIGN=center>300</TD>
<TD>&nbsp;</TD>
<TD>parsed but ignored</TD>
</TR>
<TR>
<TD><TT>TransferFunction</TT></TD>
<TD ALIGN=center>301</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>Software</TT></TD>
<TD ALIGN=center>305</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>DateTime</TT></TD>
<TD ALIGN=center>306</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>Artist</TT></TD>
<TD ALIGN=center>315</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>HostComputer</TT></TD>
<TD ALIGN=center>316</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>Predictor</TT></TD>
<TD ALIGN=center>317</TD>
<TD ALIGN=center>R/W</TD>
<TD>used by LZW codec</TD>
</TR>
<TR>
<TD><TT>WhitePoint</TT></TD>
<TD ALIGN=center>318</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>PrimaryChromacities</TT></TD>
<TD ALIGN=center>319</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>ColorMap</TT></TD>
<TD ALIGN=center>320</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>TileWidth</TT></TD>
<TD ALIGN=center>322</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>TileLength</TT></TD>
<TD ALIGN=center>323</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>TileOffsets</TT></TD>
<TD ALIGN=center>324</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>TileByteCounts</TT></TD>
<TD ALIGN=center>324</TD>
<TD ALIGN=center>R/W</TD>
<TD>data i/o</TD>
</TR>
<TR>
<TD><TT>BadFaxLines</TT></TD>
<TD ALIGN=center>326</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>CleanFaxData</TT></TD>
<TD ALIGN=center>327</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>ConsecutiveBadFaxLines</TT></TD>
<TD ALIGN=center>328</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>SubIFD</TT></TD>
<TD ALIGN=center>330</TD>
<TD ALIGN=center>R/W</TD>
<TD>subimage descriptor support</TD>
</TR>
<TR>
<TD><TT>InkSet</TT></TD>
<TD ALIGN=center>332</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>InkNames</TT></TD>
<TD ALIGN=center>333</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>DotRange</TT></TD>
<TD ALIGN=center>336</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>TargetPrinter</TT></TD>
<TD ALIGN=center>337</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>ExtraSamples</TT></TD>
<TD ALIGN=center>338</TD>
<TD ALIGN=center>R/W</TD>
<TD>lots</TD>
</TR>
<TR>
<TD><TT>SampleFormat</TT></TD>
<TD ALIGN=center>339</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>SMinSampleValue</TT></TD>
<TD ALIGN=center>340</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>SMaxSampleValue</TT></TD>
<TD ALIGN=center>341</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>JPEGTables</TT></TD>
<TD ALIGN=center>347</TD>
<TD ALIGN=center>R/W</TD>
<TD>used by JPEG codec</TD>
</TR>
<TR>
<TD><TT>YCbCrCoefficients</TT></TD>
<TD ALIGN=center>529</TD>
<TD ALIGN=center>R/W</TD>
<TD>used by <TT>TIFFReadRGBAImage</TT> support</TD>
</TR>
<TR>
<TD><TT>YCbCrSubsampling</TT></TD>
<TD ALIGN=center>530</TD>
<TD ALIGN=center>R/W</TD>
<TD>tile/strip size calculations</TD>
</TR>
<TR>
<TD><TT>YCbCrPositioning</TT></TD>
<TD ALIGN=center>531</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>ReferenceBlackWhite</TT></TD>
<TD ALIGN=center>532</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><TT>Matteing</TT></TD>
<TD ALIGN=center>32995</TD>
<TD ALIGN=center>R</TD>
<TD>none (obsoleted by <TT>ExtraSamples</TT> tag)</TD>
</TR>
<TR>
<TD><TT>DataType</TT></TD>
<TD ALIGN=center>32996</TD>
<TD ALIGN=center>R</TD>
<TD>none (obsoleted by <TT>SampleFormat</TT> tag)</TD>
</TR>
<TR>
<TD><TT>ImageDepth</TT></TD>
<TD ALIGN=center>32997</TD>
<TD ALIGN=center>R/W</TD>
<TD>tile/strip calculations</TD>
</TR>
<TR>
<TD><TT>TileDepth</TT></TD>
<TD ALIGN=center>32998</TD>
<TD ALIGN=center>R/W</TD>
<TD>tile/strip calculations</TD>
</TR>
<TR>
<TD><TT>StoNits</TT></TD>
<TD ALIGN=center>37439</TD>
<TD ALIGN=center>R/W</TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
<P>
The <TT>Matteing</TT> and <TT>DataType</TT>
tags have been obsoleted by the 6.0
<TT>ExtraSamples</TT> and <TT>SampleFormat</TT> tags.
Consult the documentation on the
<TT>ExtraSamples</TT> tag and Associated Alpha for elaboration. Note however
that if you use Associated Alpha, you are expected to save data that is
pre-multipled by Alpha. If this means nothing to you, check out
Porter & Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital
Images".
<P>
The <TT>ImageDepth</TT>
tag is a non-standard, but registered tag that specifies
the Z-dimension of volumetric data. The combination of <TT>ImageWidth</TT>,
<TT>ImageLength</TT>, and <TT>ImageDepth</TT>,
defines a 3D volume of pixels that are
further specified by <TT>BitsPerSample</TT> and
<TT>SamplesPerPixel</TT>. The <TT>TileDepth</TT>
tag (also non-standard, but registered) can be used to specified a
subvolume "tiling" of a volume of data.
<P>
The Colorimetry, and CMYK tags are additions that appear in TIFF 6.0.
Consult the TIFF 6.0 specification included in the <B>doc</B> directory
and <A HREF=document.html>online</A>.
<P>
The JPEG-related tag is specified in
<A HREF=ftp://ftp.sgi.com/graphics/tiff/TTN2.draft.txt.gz>TIFF Technical Note #2</A> which defines
a revised JPEG-in-TIFF scheme (revised over that appendix that was
part of the TIFF 6.0 specification).
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+178
View File
@@ -0,0 +1,178 @@
<HTML>
<HEAD>
<TITLE>
TIFF Tools Overview
</TITLE>
</HEAD>
<BODY BGCOLOR=WHITE>
<FONT FACE="Arial, Helvetica, Sans">
<H1>
<IMG SRC=images/quad.jpg WIDTH=144 HEIGHT=108 ALIGN=left BORDER=1 HSPACE=6>
TIFF Tools Overview
</H1>
<P>
This software distribution comes with a small collection of programs
for converting non-TIFF format images to TIFF and for manipulating
and interogating the contents of TIFF images.
Several of these tools are useful in their own right.
Many of them however are more intended to serve as programming
examples for using the TIFF library.
<H3>Device-dependent Programs</H3>
There are two device-dependent programs that serve as simple examples
for writing programs to display and save TIFF images.
<P>
<TABLE BORDER CELLPADDING=3>
<TR>
<TD valign=top WIDTH=10%><TT>tiffgt&nbsp;&nbsp;&nbsp;&nbsp;</TT></TD>
<TD>Display the contents of one or
more TIFF images on a Silicon Graphics system using
the Silicon Graphics IRIS GL.
The software makes extensive use of the <TT>TIFFRGBAImage</TT>
facilities described elsewhere.</TD>
</TR>
<TR>
<TD valign=top WIDTH=10%><TT>tiffsv</TT></TD>
<TD>A program to save all or part of a screen dump on a Silicon
Graphics system.
As for <TT>tiffgt</TT> this code, while written to use the IRIS GL,
can be easily tailored to other devices.</TD>
</TR>
</TABLE>
<H3>Device-independent Programs</H3>
The remaining programs should be device-independent:
<P>
<TABLE BORDER CELLPADDING=3>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiffinfo</TT></TD>
<TD>Display information about one or more TIFF files.</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiffdump</TT></TD>
<TD>Display the verbatim contents of the TIFF directory in a
file (it's very useful for debugging bogus files that you may get from
someone that claims they support TIFF)</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiffcp</TT></TD>
<TD>Copy, concatenate, and convert TIFF images (e.g.
switching from Compression=5 to Compression=1)</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiff2ps</TT></TD>
<TD>Convert TIFF images to PostScript</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiffcmp</TT></TD>
<TD>Compare the contents of two TIFF files (it does
not check all the directory information, but does check all the data)</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiff2bw</TT></TD>
<TD>A simple program to convert a color image to grayscale</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>ras2tiff</TT></TD>
<TD>A quick hack that converts Sun rasterfile format images to
TIFF -- it's less than complete</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>rgb2ycbcr</TT></TD>
<TD>Convert an RGB, grayscale, or bilevel TIFF image to a
YCbCr TIFF image; it's mainly provided for testing</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>gif2tiff</TT></TD>
<TD>A quick hack that converts GIF 87a format images to TIFF</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>ppm2tiff</TT></TD>
<TD>A quick hack that converts PPM format images to TIFF</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>fax2tiff</TT></TD>
<TD>Convert raw Group 3 or Group 4 facsimile data to TIFF</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>pal2rgb</TT></TD>
<TD>Convert a Palette-style image to a full color RGB image by
applying the colormap</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiffdither</TT></TD>
<TD>Dither a b&w image into a bilevel image (suitable for
use in creating fax files)</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiffsplit</TT></TD>
<TD>Create one or more single-image files from a (possibly)
multi-image file</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>fax2ps</TT></TD>
<TD>Convert a Group 3- or Group 4- compressed TIFF to PostScript
that is significantly more compressed than is generated by <TT>tiff2ps</TT>
(unless <TT>tiff2ps</TT> writes PS Level II)</TD>
<TR>
<TD VALIGN=top WIDTH=10%><TT>thumbnail</TT></TD>
<TD>Copy a bilevel TIFF to one that includes 8-bit greyscale
"thumbnail images" for each page; it is provided as an example of
how one might use the <TT>SubIFD</TT> tag
(and the library support for it)</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>tiffmedian</TT></TD>
<TD>A version of Paul Heckbert's median cut program
that reads an RGB TIFF image, and creates a TIFF palette file as a
result; it's useful for converting full-color RGB images to 8-bit
color for your friends that have cheapo 8-bit framebuffers.</TD>
</TR>
<TR>
<TD VALIGN=top WIDTH=10%><TT>sgi2tiff</TT></TD>
<TD>A program to convert SGI image files to TIFF. This
program is only useful on SGI machines as it uses <TT>-limage</TT>.</TD>
</TR>
</TABLE>
<P>
Check out the manual pages for details about the above programs.
<P>
<HR>
Last updated: $Date: 2000/06/24 19:10:16 $
</BODY>
</HTML>
+112
View File
@@ -0,0 +1,112 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta007
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta007<BR>
<B>Previous Version</B>: v3.4beta004<BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#port">Changes in the portability support</A>
<LI><A HREF="#tools">Changes in the tools</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>bit order was corrected for Pentium systems
<LI>a new define, <TT>HOST_BIGENDIAN</TT>, was added for code that
wants to statically use information about native cpu byte order
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>the G3/G4 decoder was replaced by a new one that is faster and
has smaller state tables
<LI>Niles Ritter's client tag extension hooks were added
<LI>a new routine <TT>TIFFCurrentDirOffset</TT> was added for
applications that want to find out the file offset of a TIFF directory
<LI>the calculation of the number of strips in an image was corected
for images with certain esoteric configurations
<LI>a potential memory leak (very unlikely) was plugged
<LI>the <TT>TIFFReadRGBAImage</TT> support was completely rewritten
and new, more flexible support was added for reading images into
a fixed-format raster
<LI>YCbCr to RGB conversion done in the <TT>TIFFReadRGBAImage</TT> support
was optimized
<LI>a bug in JPEG support calculation of strip size was corrected
<LI>the LZW decoder was changed to initialize the code table to zero
to lessen potential problems that arise when invalid data is decoded
<LI><B>tiffcomp.h</B> is now aware of OS/2
<LI>some function prototypes in <B>tiffio.h</B> and <B>tiffiop.h</B>
that contained parameter
names have been changed to avoid complaints from certain compilers
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="port"><B><FONT SIZE=+3>C</FONT>HANGES IN THE PORTABILITY SUPPORT:</B></A>
<UL>
<LI><B>Makefile.in</B> has been corrected to use the parameters
chosen by the configure script
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI><TT>fax2ps</TT> has been rewritten and moved over from the user
contributed software
<LI>an uninitialized variable in <TT>pal2rgb</TT> has been fixed
<LI><TT>ras2tiff</TT> now converts 24-bit RGB raster data so that
samples are written in the proper order
<LI><TT>tiff2ps</TT> has been updated to include fixes
and enhancements from Alberto Accomazzi
<LI><TT>tiffcp</TT> now has a <TT>-o</TT> option to select a directory
by file offset
<LI><TT>tiffinfo</TT> is now capable of displaying the raw undecoded
image data in a file
<LI><TT>tiffgt</TT> has been rewritten to use the new <TT>TIFFRGBAImage</TT>
support and to handle multiple files
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+122
View File
@@ -0,0 +1,122 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta016
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta016<BR>
<B>Previous Version</B>: <A HREF=v3.4beta007.html>v3.4beta007</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
<LI><A HREF="#man">Changes in the manual pages</A>
<LI><A HREF="#html">Changes in the documentation</A>
<LI><A HREF="#contrib">Changes in contributed software</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>support was added for configuring the Deflate codec
<LI>support was added for the HTML documentation
<LI>codecs that are not configured for inclusion in the library
are no longer compiled
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>support was added for registering new codecs external to the library
and for overriding the codecs that are builtin to the library
<LI>emulation support for the old <TT>DataType</TT> tag was improved
<LI>suppport was added for the <TT>SMinSampleValue</TT>
and <TT>SMaxSampleValue</TT> tags
<LI>the library no longer ignores <TT>TileWidth</TT> and <TT>TileLength</TT>
tags whose values are not a multiple of 16 (per the spec); this
permits old, improperly written, images to be read
<LI>the support for the <TT>Predictor</TT> tag was placed in a reusable
module so that it can be shared by multiple codecs
<LI>experimental compression support was added for the Deflate algorithm
(using the freely available zlib package)
<LI>a new routine, <TT>TIFFWriteBufferSetup</TT> was added a la the
routine <TT>TIFFReadBufferSetup</TT>
<LI>the DSO version of the library is now statically linked with the
JPEG and Deflate libraries; this means applications that link against
the DSO do not also need to link against these ancillary libraries
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI>all the tools now use common code to process compress-oriented arguments
<LI><TT>tiffdump</TT> should now compile on a Macintosh with MPW
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
<UL>
<LI>everything was updated
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="html"><B><FONT SIZE=+3>C</FONT>HANGES IN THE DOCUMENTATION:</B></A>
<UL>
<LI>everything was updated
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN CONTRIBUTED SOFTWARE:</B></A>
<UL>
<LI><B>contrib/dbs/xtiff</B> was made to compile
<LI><B>contrib/mac-mpw</B> is new support for compiling the software on
a Macintosh under MPW; consult <A HREF=build.html#Mac>the documentation</A>
for details
<LI><B>contrib/tags</B> is information on how to use the tag extenion
facilities; consult
<A HREF=../contrib/tags/README>contrib/tags/README</A> for details
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+84
View File
@@ -0,0 +1,84 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta018
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta018<BR>
<B>Previous Version</B>: <A HREF=v3.4beta016.html>v3.4beta016</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>configure now recognizes IRIX 6.x systems
<LI>configure now uses <TT>ENVOPTS</TT> when searching for an ANSI
C compiler; this fixes a problem configuring the software under
HP/UX with the native C compiler
<LI>configure now correctly recognizes memory-mapped files are supported
under AIX
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI><TT>make install</TT> now properly installs the include files
<LI>some portability fixes from Bjorn Brox
<LI>the G3/G4 codec now warns about decoded rows that are longer than
the image/tile width
<LI>changes from Frank Cringle to make the library work with the
gcc-specific bounds checking software
<LI>miscellaneous fixes to <TT>TIFFPrintDirectory</TT>
<LI>bug fix to correct a problem where <TT>TIFFWriteRawStrip</TT>
could not be used to automatically grow an image's length
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI>fixes from Frank Cringle to update <TT>fax2tiff</TT>
<LI>portability fixes to <TT>tiff2bw</TT> and <TT>tiffcmp</TT>
<LI><TT>tiffdump</TT> now uses the byte swapping routines in the library
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+139
View File
@@ -0,0 +1,139 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta024
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta024<BR>
<B>Previous Version</B>: <A HREF=v3.4beta018.html>v3.4beta018</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
<LI><A HREF="#man">Changes in the manual pages</A>
<LI><A HREF="#contrib">Changes in the contributed software</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>It is now possible to setup the software to build only the
library; configure reconizes this is the intent when the
<B>VERSION</B>, <B>tiff.alpha</B>, and <B>tif_version.c</B>
files are in the local directory (i.e. ``.'')
<LI>configure no longer tries to setup HTML materials
<LI>include file directories needed in building the library are now
specified with a <TT>DIRS_LIBINC</TT> config parameter
<LI>configure no longer checks for alternate compilers if <TT>CC</TT>
is set; if the specified compiler is not found or is not appropriate
the configuration procedure aborts
<LI>the <B>port.h</B> file generated by configure is now used only by
the library and as such as have been moved to the <B>libtiff</B>
directory
<LI>there is beginning support for building DSO's on systems other than IRIX
<LI>configure now verifies the JPEG and zlib directory pathnames by
checking for well-known include files in these directories
<LI>configure no longer creates the <B>dist</B> directory needed only
on SGI machines (for building SGI binary distributions)
<LI>a bug was fixed whereby configure would incorrectly set
<TT>ENVOPTS</TT> when building the software with gcc under AIX
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>two new typedefs were added to <B>tiff.h</TT>: <TT>int8</TT>
and <TT>uint8</TT> for signed and unsigned 8-bit quantities,
respectively; these are currently used only by
programs in the <B>tools</B> directory
<LI>the <TT>BadFaxLines</TT>, <TT>CleanFaxData</TT>, and
<TT>ConsecutiveBadFaxLines</B> tags are now supported with
Group 4 compression
<LI>byte order is now correctly identified on 64-bit machines
<LI>a bug was fixed in the PackBits decoder where input data would
appear short when a no-op run was present
<LI>a bug was fixed in calculations with very wide strips
<LI><TT>TIFFWriteEncodedStrip</TT> and <TT>TIFFWriteRawStrip</TT>
were extended to support dynamically growing the number of
strips in an image (must set <TT>ImageLength</TT> prior to
making calls though)
<LI><TT>TIFFDefaultTileSize</TT> now rounds tile width and height
up to a multiple of 16 pixels, as required by the TIFF 6.0 specification
<LI>the file <B>version.h</B> is now built by a new <B>mkversion</B>
program; this was done for portability to non-UNIX systems
<LI>support was added for the Acorn RISC OS (from Peter Greenham)
<LI>the builtin codec table is now made <TT>const</TT> when compiling
under VMS so that <B>libtiff</B> can be built as a shared library
<LI>support for the PowerPC Mac (from Ruedi Boesch)
<LI>support for Window NT/Window 95 (from Scott Wagner)
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI>the tools no longer include <B>port.h</B>
<LI>various portability fixes; mostly to eliminate implicit assumptions
about how long <TT>int32</TT> data types are
<LI>PostScript Level II additions to <TT>tiff2ps</TT> from Bjorn Brox
<LI><TT>sgi2tiff</TT> now handles RGBA images
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
<UL>
<LI>the documentation has been updated to reflect the current state of
the software
<LI>some routines have been moved to different manual pages
to group like-routines together
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
<UL>
<LI>support was added for the Acorn RISC OS (from Peter Greenham)
<LI>support for Windows NT/Windows 95 contributed for a previous
version of this software was sort of incorporated (it's broken
right now) (from Scott Wagner)
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+146
View File
@@ -0,0 +1,146 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta028
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta028<BR>
<B>Previous Version</B>: <A HREF=v3.4beta024.html>v3.4beta024</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
<LI><A HREF="#man">Changes in the manual pages</A>
<LI><A HREF="#contrib">Changes in the contributed software</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>a <TT>-noninteractive</TT> flag was added to configure to
control whether or not it prints and prompts for configuration information
<LI>various typos and fixes were made in configure for the the
library-only build support (this and other configure fixes from
Richard Mlynarik <A HREF=mailto:mly@adoc.xerox.com>&lt;mly@adoc.xerox.com&gt;</A>)
<LI>bugs were fixed in the handling of pathnames supplied for external
packages; e.g. <TT>DIR_JPEG</TT>
<LI>the handling of <TT>SETMAKE</TT> is now done properly
<LI>the default prototype function declaration for <TT>pow</TT> was corrected
<LI>a bug was fixed in <B>libtiff/Makefile.in</B> that caused installation
to fail on systems without DSO support
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>Acorn RISC O/S support that was accidentally left out of the
left out of the previous distribution is present (from Peter Greenham)
<LI>complaints about unknown and/or unsupported codecs have been
delayed until they are invoked; this permits applications to open
images and look at tags even if the image data is compressed with
an unknown/unsupported compression scheme
<LI>bugs in handling unknown tags have been corrected; applications
that use multiple codecs, each with codec-specific tags, no longer
generate confusing error messages
<LI>a missing pseudo-tag definition in the CCITT G3 codec was fixed
(this problem caused core dumps in the <TT>tiffcp</TT> program)
<LI>pseudo-tags are now treated specially; they are always considered
to be set (i.e. they do not use bits in the <TT>FIELD_*</TT> bit-vectors).
<LI>the use of strip chopping can now be controlled on a per-file basis
through a mode parameter supplied when opening a file (``C'' to
enable strip chopping and ``c'' to disable)
<LI>two bugs were fixed in the writing of opposite-endian byte-order
files
<LI>support was added for three new fax-related tags registered to
SGI: FaxRecvParams, FaxRecvTime, and FaxSubAddress
<LI>the bit order of image data read and written can now be controlled
on a per-file basis through a mode parameter supplied when opening
a file (``B'' to force MSB2LSB bit order, ``L'' for LSB2MSB bit
order, and ``H'' for the bit order of the native CPU)
<LI>the byte order of image and tag data written to newly-created files
can now be controlled on a per-file basis through a mode parameter
supplied when openening a file (``b'' to force Big-Endian byte order
and ``l'' to force Little-Endian byte order)
<LI>the use memory-mapped files for images opened read-only can now
be controlled on a per-file basis through a mode parameter supplied
when opening a file (``M'' to enable use of memory-mapped files
and ``m'' to disable use)
<LI>the use of the <TT>WIN32</TT> define in <B>tiffiop.h</B> has
been replaced by <TT>__WIN32__</TT>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI><TT>fax2ps</TT> now does a <TT>save</TT> and <TT>restore</TT>
around each page of PostScript; this fixes a problem with VM
overflow when printing a many-page document on some printers
<LI>a bug in the handling of 3-channel images by <TT>ras2tiff</TT>
was fixed
<LI><TT>tiffcp</TT> has new options to control the byte order of
newly created files: <B>-B</B> for Big-Endian byte order, <B>-L</B>
for Little-Endian byte order; a <B>-M</B> option to disable the
use of memory-mapped files, and a <B>-C</B> option to disable the
use of strip chopping
<LI>bugs were fixed in <TT>tiffcp</TT>'s handling of codec-specific tags
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
<UL>
<LI>the <TT>TIFFOpen</TT> page has been updated to reflect the new
optional open mode parameters
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
<UL>
<LI><B>contrib/win95</B> contains information and code from Philippe Tenenhaus
<A HREF=mailto:100423.3705@compuserve.com>&lt;100423.3705@compuserve.com&gt;</A>
about using the software under Windows 95
<LI><B>contrib/winnt</B> contains information and code from Dave Dyer
<A HREF=mailto:ddyer@triple-i.com>&lt;ddyer@triple-i.com&gt;</A>
about using the software under Windows NT
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+86
View File
@@ -0,0 +1,86 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta029
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta029<BR>
<B>Previous Version</B>: <A HREF=v3.4beta028.html>v3.4beta028</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#contrib">Changes in the contributed software</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI><B>configure</B> now relativizes pathname references given in
<TT>-L</TT> options (as frequently specified when configuring
ancillary packages)
<LI>problems related to configuring the software on Ultrix 4.4 have
been corrected
<LI>the shell to use in Makefiles and scripts can now be set with the
<TT>SCRIPT_SH</TT> configuration parameter
<LI>comments in <B>config.site</B> now correctly indicate how to setup the
use of ancillary packages
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>mods for building the software on a Mac using the
MetroWerks CodeWarrior compilers
<LI>a bug in the CCITT T.4/T.6 decoder was fixed where the last codeword in
a strip/tile might not be decoded; this was seen only when decoding
multi-strip images
<LI>a bug in the CCITT RLE codecs was fixed whereby the pseudo tags were not
being properly registered
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
<UL>
<LI><B>contrib/mac-cw</B> contains information and code from Niles Ritter
<A HREF=mailto:ndr@tazboy.jpl.nasa.gov>&lt;ndr@tazboy.jpl.nasa.gov&gt;</A>
about building the software with the MetroWerks CodeWarrior compilers
on Macintosh systems
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+94
View File
@@ -0,0 +1,94 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta031
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta031<BR>
<B>Previous Version</B>: <A HREF=v3.4beta029.html>v3.4beta029</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#man">Changes in the manual pages</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI><B>configure</B> now captures significantly more information
in the <B>config.log</B> file and provides more information when
it is unable to setup a configuration
<LI>support was added for building shared libraries on more systems:
AIX, HPUX, Solaris, and Linux.
<LI>a new configuration parameter <TT>LIBCOPTS</TT> was added for
passing arguments to the C compiler to use when building only
the library; this is part of the enhanced support for building
shared libraries
<LI>include files for optional packages that reside in <B>/usr/include</B>
are now handled correctly
<LI>build trees may now be configured using either relative or absolute
pathnames to the source distribution
<LI>several new configuration parameters were added, mainly for building
shared libraries: <TT>DIST_MAJOR</TT>, <TT>DIST_MINOR</TT>,
<TT>DIST_ALPHA</TT>, and <TT>DSOSUF_VERSION</TT>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>the Deflate support has been revised: it requires version 0.99 of
the zlib software distribution, <B>the output format has changed and
is incompatible with previous versions of this library</B> (each
strip now includes a header read and written by the zlib library)
<LI>the codec name printed by the TIFFPrintDirectory routine is now
taken from the codec table instead of from a builtin table; this means
that application-defined codecs are handled correctly
<LI>a new symbol was added that contains the library version number;
this can be used to do a compile-time compatibility check of the
library version
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
<UL>
<LI>the creation and installation of manual pages was redone; it now
implements the documented ``configuration scheme''
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+90
View File
@@ -0,0 +1,90 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta032
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta032<BR>
<B>Previous Version</B>: <A HREF=v3.4beta031.html>v3.4beta031</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
<LI><A HREF="#contrib">Changes in the contributed software</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>various fixups and subtle improvements to <B>configure</B>
from Richard Mlynarik
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>a new codec from Pixar designed for high-resolution color images;
note that this codec is not configured by default
<LI>a bug fix for reading tags with a single <TT>FLOAT</TT> value
<LI>change to the <TT>TIFFGetField</TT> calling convention:
a tag that has a single value of
type <TT>DOUBLE</TT> is now retrieved by passing a
``<TT>double*</TT>'' instead of a
``<TT>double**</TT>'' (this change makes the handling of tags with
<TT>DOUBLE</TT> values identical to the handling of tags with
<TT>FLOAT</TT> values)
<LI>fix to VMS support for the handling of floating point values
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI><B>tiffdump</B> now handles tags with <TT>FLOAT</TT> and <TT>DOUBLE</TT>
values
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
<UL>
<LI>updates to the Acorn OS support from Peter Greenham
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+82
View File
@@ -0,0 +1,82 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta033
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta033 (aka the v3.4 release)<BR>
<B>Previous Version</B>: <A HREF=v3.4beta032.html>v3.4beta032</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
<LI><A HREF="#contrib">Changes in the contributed software</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>support was added for building the library as a DSO under OSF/1
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>fixes to the Pixar codec
<LI>portability mods for VMS
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI>fixes to <B>gif2tiff</B> and <B>ppm2tiff</B> for building under MS/DOS
<LI>portability mods to <B>fax2ps</B> and <B>ycbcr</B> for VMS
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
<UL>
<LI>a new package from Alexander Lehmann
for building the library and tools under MS/DOS with DJGPP v2
<LI>updated VMS support from Karsten Spang
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+68
View File
@@ -0,0 +1,68 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta034
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta034<BR>
<B>Previous Version</B>: <A HREF=v3.4beta033.html>v3.4beta033</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>support was added for building the library as a DSO under NetBSD
<LI>a bug was fixed in the DSO support for Linux
<LI>the handling of version strings has changed slightly to simplify parsing
<LI>a new parameter, <TT>TIFFLIBREF</TT>, was added to control how the
library is referenced when linking programs in the <B>tools</B> directory
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>DSO creation under Solaris now forces the DSO name with a <TT>-h</TT> option
<LI>the interface to the <B>mkversion</B> program was changed
to eliminate the need to parse files
<LI>a bug was fixed in the EOL-detection logic of the T.4/T.6 decoder
<LI>ANSI IT8 TIFF/IT tag definitions were added to <B>tiff.h</B>
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+63
View File
@@ -0,0 +1,63 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta035
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta035<BR>
<B>Previous Version</B>: <A HREF=v3.4beta034.html>v3.4beta034</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>support was added installing the HTML documentation
<LI>support was added for building the library as a DSO under FreeBSD
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>the interface to the <B>mkversion</B> program was restored to
the form used prior to v3.4beta034
<LI>several portability problems for 16-bit systems were fixed
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+117
View File
@@ -0,0 +1,117 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.4beta036
</TITLE>
</HEAD>
<BODY>
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.4beta036<BR>
<B>Previous Version</B>: <A HREF=v3.4beta035.html>v3.4beta035</A><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI>support was added for building the library as a DSO under HP-UX with
the native C compiler
<LI>tools are now built with explicit pathnames for the DSO under IRIX,
Solaris, and Linux
<LI>DSO configuration support for Linux was changed to require that
<B>libc.so</B> only be readable (not executable)
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI>support was add for ICC: <TT>NumberOfInks</TT>, and <TT>ICCProfile</TT>
<LI>a memory leak caused by doing <TT>TIFFSetDirectory(0)</TT> was fixed
<LI>a bug was fixed whereby certain multi-directory files were not
properly handled when accessed by mapping the data into memory
<LI>the strip chopping support is now always compiled
into the library with the default usage controlled by a
<TT>STRIPCHOP_DEFAULT</TT> configuration parameter
<LI>the strip chopping support no longer chops tiled images
<LI>all static strings are now const--for shared libraries
<LI>the logic for estimating the strip size of images without
a <TT>StripByteCounts</TT> tag was improved by handling
<TT>PlanarContig</TT> images differently from <TT>PlanarSeparate</TT>
<LI>a bug was fixed in the G3 codec when converting the Y resolution
of data specified in metric units
<LI>a bug was fixed in the G3/G4 decoder for data where lines terminate
with a v0 code
<LI>the <TT>TIFFRGBAImage</TT> support was changed to scale 16-bit colormap
entries more conservatively to avoid problems with applications
that do not generate fully saturated pixel values
<LI>the LZW decoder was changed to use a more conservative scheme when
bounds checking the hash table array; this avoids pitfalls with
systems that load objects into memory in unusual locations
<LI>a bug was fixed in <TT>TIFFPrintDirectory</TT>'s handling of the
<TT>InkNames</TT> tag
<LI><TT>TIFFPrintDirectory</TT> now understands <TT>NumberOfInks</TT>
and ICC-related tags
<LI>the routines for reading image data now provide more useful information
when a read error is encountered
<LI>support was added for compiling with Microsoft Visual C++ 4.0
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI>a bug was fixed in <B>pal2rgb</B>'s colormap handling
<LI><B>tiff2ps</B> now includes John Wehle's changes for maintaining
the aspect ratio
of images when scaling and for honoring the deadzone on a page when
generating PostScript Level II
<LI><B>tiff2ps</B> does a better job guarding against the mishandling
of greyscale images
<LI><B>tiff2ps</B> now correctly converts X- and Y-resolution values
specified in metric units
<LI><B>tiffdump</B> has a new <TT>-m</TT> option to control the maximum
number of indirect
data values printed for a tag (by default 24)
<LI><B>tiffdump</B> understands several new tags
<LI><B>tiffdump</B> now shows any terminating null in ASCII strings
<LI><B>tiffinfo</B> now suppresses strip chopping when interpreting an image;
a new <TT>-z</TT> option has been added to enable strip chopping
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
Last updated $Date: 2000/06/24 19:10:16 $.
</ADDRESS>
</BODY>
</HTML>
+75
View File
@@ -0,0 +1,75 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.5.1
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.5.1<BR>
<B>Previous Version</B>: v3.4beta037<BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com, directory graphics/tiff</A><BR>
<B>Master HTTP Site</B>: <A HREF="http://www.libtiff.org/>http://www.libtiff.org</a>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI> <em> None of consequence </em>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI> Support was added for IPTC Newsphoto metadata (TIFFTAGE_IPTCNEWSPHOTO)
<LI> Support was added for photoshop caption handling (TIFFTAG_PHOTOSHOP)
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI> <A HREF=mailto:billr@corbis.com>Bill Radcliffe's</a> iptcutil was
added to the "contrib" subdirectory . It can convert an IPTC binary
blob to ASCII text and vice-versa. The blob itself can be extracted
from or added to an image with the <A
href=http://www.wizards.dupont.com/magick>ImageMagick</a> convert(1)
utility.
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
Last updated $Date: 2000/06/24 19:10:16 $.
</BODY>
</HTML>
+108
View File
@@ -0,0 +1,108 @@
<HTML>
<HEAD>
<TITLE>
Changes in TIFF v3.5.2
</TITLE>
</HEAD>
<BODY BGCOLOR=white>
<FONT FACE="Arial, Helvetica, Sans">
<FONT FACE="Arial, Helvetica, Sans">
<BASEFONT SIZE=4>
<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
<BASEFONT SIZE=3>
<UL>
<HR SIZE=4 WIDTH=65% ALIGN=left>
<B>Current Version</B>: v3.5.2<BR>
<B>Previous Version</B>: <A HREF=v3.5.1.html>v3.5.1</a><BR>
<B>Master FTP Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com, directory graphics/tiff</A><BR>
<B>Master HTTP Site</B>: <A HREF="http://www.libtiff.org/">http://www.libtiff.org</a>
<HR SIZE=4 WIDTH=65% ALIGN=left>
</UL>
<P>
This document describes the changes made to the software between the
<I>previous</I> and <I>current</I> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:
<UL>
<LI><A HREF="#configure">Changes in the software configuration</A>
<LI><A HREF="#libtiff">Changes in libtiff</A>
<LI><A HREF="#tools">Changes in the tools</A>
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
<UL>
<LI> Corrected alpha versioning.
<LI> Removed distinction between alpha and release targets in Makefile.in.
<LI> Added release.stamp target, which tags cvs tree, and updates
"RELEASE-DATE"
<LI> Added releasediff target, which diffs tree with source as of
date in "RELEASE-DATE"
<LI>Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
away from alpha/non-alpha distinctions).
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
<UL>
<LI> Added IRIX/gcc, and OSF/1 4.x support on behalf of
Albert Chin-A-Young <china@thewrittenword.com>
<LI> Added TIFFReassignTagToIgnore() API on behalf of
Bruce Cameron <cameron@petris.com>. Man page still pending.
<LI> pre-remove so link before softlink in LINUXdso action in
libtiff/Makefile.in to avoid failure on LINUXdso builds other than
the first.
<LI> Fixed problem with cvtcmap() in tif_getimage.c modifying the
colormaps owned by the TIFF handle itself when trying to fixup wrong
(eight bit) colormaps. Corrected by maintaining a private copy of
the colormap.
<LI> Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
tif_getimage.c.
<LI> Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
by Christopher Lawton <clawton@mathworks.com>
<LI> Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.
<LI> Added CYGWIN case in configure.
<LI> Applied Francois Dagand's patch to handle fax decompression bug.
(sizes >= 65536 were failing)
</UL>
<P><HR WIDTH=65% ALIGN=right>
<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
<UL>
<LI> Added addtiffo (add overviews to a TIFF file) in contrib. Didn't
put it in tools since part of it is in C++.
</UL>
<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
<HR>
Last updated $Date: 2000/06/24 19:10:16 $.
</BODY>
</HTML>

Some files were not shown because too many files have changed in this diff Show More