10dcb9ef1SAndrey Kiselev<!-- Creator     : groff version 1.18.1 -->
2f14d1a56SAndrey Kiselev<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
387c5da6fSAndrey Kiselev<html>
487c5da6fSAndrey Kiselev<head>
587c5da6fSAndrey Kiselev<meta name="generator" content="groff -Thtml, see www.gnu.org">
687c5da6fSAndrey Kiselev<meta name="Content-Style" content="text/css">
787c5da6fSAndrey Kiselev<title>TIFFReadRGBAImage</title>
887c5da6fSAndrey Kiselev</head>
987c5da6fSAndrey Kiselev<body>
1087c5da6fSAndrey Kiselev
1187c5da6fSAndrey Kiselev<h1 align=center>TIFFReadRGBAImage</h1>
1287c5da6fSAndrey Kiselev<a href="#NAME">NAME</a><br>
1387c5da6fSAndrey Kiselev<a href="#SYNOPSIS">SYNOPSIS</a><br>
1487c5da6fSAndrey Kiselev<a href="#DESCRIPTION">DESCRIPTION</a><br>
1587c5da6fSAndrey Kiselev<a href="#NOTES">NOTES</a><br>
1687c5da6fSAndrey Kiselev<a href="#RETURN VALUES">RETURN VALUES</a><br>
1787c5da6fSAndrey Kiselev<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
1887c5da6fSAndrey Kiselev<a href="#SEE ALSO">SEE ALSO</a><br>
1987c5da6fSAndrey Kiselev
2087c5da6fSAndrey Kiselev<hr>
2187c5da6fSAndrey Kiselev<a name="NAME"></a>
2287c5da6fSAndrey Kiselev<h2>NAME</h2>
230dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
240dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
250dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
260dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
270dcb9ef1SAndrey Kiselev<td width="8%"></td>
280dcb9ef1SAndrey Kiselev<td width="91%">
290dcb9ef1SAndrey Kiselev<p>TIFFReadRGBAImage, TIFFReadRGBAImageOriented &minus; read
300dcb9ef1SAndrey Kiselevand decode an image into a fixed-format raster</p>
310dcb9ef1SAndrey Kiselev</td>
320dcb9ef1SAndrey Kiselev</table>
3387c5da6fSAndrey Kiselev<a name="SYNOPSIS"></a>
3487c5da6fSAndrey Kiselev<h2>SYNOPSIS</h2>
350dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
360dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
370dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
380dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
390dcb9ef1SAndrey Kiselev<td width="8%"></td>
400dcb9ef1SAndrey Kiselev<td width="91%">
410dcb9ef1SAndrey Kiselev<p><b>#include &lt;tiffio.h&gt;</b></p>
420dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
430dcb9ef1SAndrey Kiselev<p><b>#define TIFFGetR(abgr) ((abgr) &amp; 0xff)<br>
4405fb5662SAndrey Kiselev#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff)<br>
450dcb9ef1SAndrey Kiselev#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)<br>
4605fb5662SAndrey Kiselev#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp;
4705fb5662SAndrey Kiselev0xff)</b></p>
480dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
490dcb9ef1SAndrey Kiselev<p><b>int TIFFReadRGBAImage(TIFF *</b><i>tif</i><b>,
50ef833c65SAndrey Kiselevuint32</b> <i>width</i><b>, uint32</b> <i>height</i><b>,
51ef833c65SAndrey Kiselevuint32 *</b><i>raster</i><b>, int</b>
520dcb9ef1SAndrey Kiselev<i>stopOnError</i><b>)<br>
5387c5da6fSAndrey Kiselevint TIFFReadRGBAImageOriented(TIFF *</b><i>tif</i><b>,
54ef833c65SAndrey Kiselevuint32</b> <i>width</i><b>, uint32</b> <i>height</i><b>,
55ef833c65SAndrey Kiselevuint32 *</b><i>raster</i><b>, int</b> <i>orientation</i><b>,
5687c5da6fSAndrey Kiselevint</b> <i>stopOnError</i><b>)</b></p>
570dcb9ef1SAndrey Kiselev</td>
580dcb9ef1SAndrey Kiselev</table>
5987c5da6fSAndrey Kiselev<a name="DESCRIPTION"></a>
6087c5da6fSAndrey Kiselev<h2>DESCRIPTION</h2>
610dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
620dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
630dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
640dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
650dcb9ef1SAndrey Kiselev<td width="8%"></td>
660dcb9ef1SAndrey Kiselev<td width="91%">
670dcb9ef1SAndrey Kiselev<p><i>TIFFReadRGBAImage</i> reads a strip- or tile-based
680dcb9ef1SAndrey Kiselevimage into memory, storing the result in the user supplied
690dcb9ef1SAndrey Kiselev<i>raster</i>. The raster is assumed to be an array of
700dcb9ef1SAndrey Kiselev<i>width</i> times <i>height</i> 32-bit entries, where
710dcb9ef1SAndrey Kiselev<i>width</i> must be less than or equal to the width of the
720dcb9ef1SAndrey Kiselevimage (<i>height</i> may be any non-zero size). If the
730dcb9ef1SAndrey Kiselevraster dimensions are smaller than the image, the image data
740dcb9ef1SAndrey Kiselevis cropped to the raster bounds. If the raster height is
750dcb9ef1SAndrey Kiselevgreater than that of the image, then the image data are
760dcb9ef1SAndrey Kiselevplaced in the lower part of the raster. (Note that the
770dcb9ef1SAndrey Kiselevraster is assume to be organized such that the pixel at
780dcb9ef1SAndrey Kiselevlocation (<i>x</i>,<i>y</i>) is
7987c5da6fSAndrey Kiselev<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
8087c5da6fSAndrey Kiselevraster origin in the lower-left hand corner.)</p>
810dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
820dcb9ef1SAndrey Kiselev<p><i>TIFFReadRGBAImageOriented</i> works like
830dcb9ef1SAndrey Kiselev<i>TIFFReadRGBAImage</i> with except of that user can
840dcb9ef1SAndrey Kiselevspecify the raster origin position with the
850dcb9ef1SAndrey Kiselev<i>orientation</i> parameter. Four orientations
860dcb9ef1SAndrey Kiselevsupported:</p>
870dcb9ef1SAndrey Kiselev</td>
880dcb9ef1SAndrey Kiselev</table>
890dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
900dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
910dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
920dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
930dcb9ef1SAndrey Kiselev<td width="8%"></td>
940dcb9ef1SAndrey Kiselev<td width="91%">
950dcb9ef1SAndrey Kiselev<p><b>ORIENTATION_TOPLEFT</b></p></td>
960dcb9ef1SAndrey Kiselev</table>
970dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
980dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
990dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1000dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1010dcb9ef1SAndrey Kiselev<td width="19%"></td>
1020dcb9ef1SAndrey Kiselev<td width="80%">
1030dcb9ef1SAndrey Kiselev<p>origin in top-left corner,</p>
1040dcb9ef1SAndrey Kiselev</td>
1050dcb9ef1SAndrey Kiselev</table>
1060dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1070dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1080dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1090dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1100dcb9ef1SAndrey Kiselev<td width="8%"></td>
1110dcb9ef1SAndrey Kiselev<td width="91%">
1120dcb9ef1SAndrey Kiselev<p><b>ORIENTATION_TOPRIGHT</b></p></td>
1130dcb9ef1SAndrey Kiselev</table>
1140dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1150dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1160dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1170dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1180dcb9ef1SAndrey Kiselev<td width="19%"></td>
1190dcb9ef1SAndrey Kiselev<td width="80%">
1200dcb9ef1SAndrey Kiselev<p>origin in top-right corner,</p>
1210dcb9ef1SAndrey Kiselev</td>
1220dcb9ef1SAndrey Kiselev</table>
1230dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1240dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1250dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1260dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1270dcb9ef1SAndrey Kiselev<td width="8%"></td>
1280dcb9ef1SAndrey Kiselev<td width="91%">
1290dcb9ef1SAndrey Kiselev<p><b>ORIENTATION_BOTLEFT</b></p></td>
1300dcb9ef1SAndrey Kiselev</table>
1310dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1320dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1330dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1340dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1350dcb9ef1SAndrey Kiselev<td width="19%"></td>
1360dcb9ef1SAndrey Kiselev<td width="80%">
1370dcb9ef1SAndrey Kiselev<p>origin in bottom-left corner and</p>
1380dcb9ef1SAndrey Kiselev</td>
1390dcb9ef1SAndrey Kiselev</table>
1400dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1410dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1420dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1430dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1440dcb9ef1SAndrey Kiselev<td width="8%"></td>
1450dcb9ef1SAndrey Kiselev<td width="91%">
1460dcb9ef1SAndrey Kiselev<p><b>ORIENTATION_BOTRIGHT</b></p></td>
1470dcb9ef1SAndrey Kiselev</table>
1480dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1490dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1500dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1510dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1520dcb9ef1SAndrey Kiselev<td width="19%"></td>
1530dcb9ef1SAndrey Kiselev<td width="80%">
1540dcb9ef1SAndrey Kiselev<p>origin in bottom-right corner.</p>
1550dcb9ef1SAndrey Kiselev</td>
1560dcb9ef1SAndrey Kiselev</table>
1570dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1580dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1590dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1600dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1610dcb9ef1SAndrey Kiselev<td width="8%"></td>
1620dcb9ef1SAndrey Kiselev<td width="91%">
1630dcb9ef1SAndrey Kiselev<p>If you choose <b>ORIENTATION_BOTLEFT</b> result will be
1640dcb9ef1SAndrey Kiselevthe same as returned by the <i>TIFFReadRGBAImage.</i></p>
1650dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1660dcb9ef1SAndrey Kiselev<p>Raster pixels are 8-bit packed red, green, blue, alpha
1670dcb9ef1SAndrey Kiselevsamples. The macros <i>TIFFGetR</i>, <i>TIFFGetG</i>,
1680dcb9ef1SAndrey Kiselev<i>TIFFGetB</i>, and <i>TIFFGetA</i> should be used to
1690dcb9ef1SAndrey Kiselevaccess individual samples. Images without Associated Alpha
1700dcb9ef1SAndrey Kiselevmatting information have a constant Alpha of 1.0 (255).</p>
1710dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1720dcb9ef1SAndrey Kiselev<p><i>TIFFReadRGBAImage</i> converts non-8-bit images by
1730dcb9ef1SAndrey Kiselevscaling sample values. Palette, grayscale, bilevel,
1740dcb9ef1SAndrey Kiselev<small>CMYK</small> , and YCbCr images are converted to
1750dcb9ef1SAndrey Kiselev<small>RGB</small> transparently. Raster pixels are returned
1760dcb9ef1SAndrey Kiselevuncorrected by any colorimetry information present in the
1770dcb9ef1SAndrey Kiselevdirectory.</p>
1780dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1790dcb9ef1SAndrey Kiselev<p>The paramater <i>stopOnError</i> specifies how to act if
1800dcb9ef1SAndrey Kiselevan error is encountered while reading the image. If
1810dcb9ef1SAndrey Kiselev<i>stopOnError</i> is non-zero, then an error will terminate
1820dcb9ef1SAndrey Kiselevthe operation; otherwise <i>TIFFReadRGBAImage</i> will
1830dcb9ef1SAndrey Kiselevcontinue processing data until all the possible data in the
1840dcb9ef1SAndrey Kiselevimage have been requested.</p>
1850dcb9ef1SAndrey Kiselev</td>
1860dcb9ef1SAndrey Kiselev</table>
18787c5da6fSAndrey Kiselev<a name="NOTES"></a>
18887c5da6fSAndrey Kiselev<h2>NOTES</h2>
1890dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1900dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
1910dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
1920dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
1930dcb9ef1SAndrey Kiselev<td width="8%"></td>
1940dcb9ef1SAndrey Kiselev<td width="91%">
1950dcb9ef1SAndrey Kiselev<p>In C++ the <i>stopOnError</i> parameter defaults to
1960dcb9ef1SAndrey Kiselev0.</p>
1970dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
1980dcb9ef1SAndrey Kiselev<p>Samples must be either 1, 2, 4, 8, or 16 bits.
1990dcb9ef1SAndrey KiselevColorimetric samples/pixel must be either 1, 3, or 4 (i.e.
2000dcb9ef1SAndrey Kiselev<i>SamplesPerPixel</i> minus <i>ExtraSamples</i>).</p>
2010dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2020dcb9ef1SAndrey Kiselev<p>Palettte image colormaps that appear to be incorrectly
2030dcb9ef1SAndrey Kiselevwritten as 8-bit values are automatically scaled to
2040dcb9ef1SAndrey Kiselev16-bits.</p>
2050dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2060dcb9ef1SAndrey Kiselev<p><i>TIFFReadRGBAImage</i> is just a wrapper around the
2070dcb9ef1SAndrey Kiselevmore general <i>TIFFRGBAImage</i>(3TIFF) facilities.</p>
2080dcb9ef1SAndrey Kiselev</td>
2090dcb9ef1SAndrey Kiselev</table>
21087c5da6fSAndrey Kiselev<a name="RETURN VALUES"></a>
21187c5da6fSAndrey Kiselev<h2>RETURN VALUES</h2>
2120dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2130dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
2140dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
2150dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
2160dcb9ef1SAndrey Kiselev<td width="8%"></td>
2170dcb9ef1SAndrey Kiselev<td width="91%">
2180dcb9ef1SAndrey Kiselev<p>1 is returned if the image was successfully read and
2190dcb9ef1SAndrey Kiselevconverted. Otherwise, 0 is returned if an error was
2200dcb9ef1SAndrey Kiselevencountered and <i>stopOnError</i> is zero.</p>
2210dcb9ef1SAndrey Kiselev</td>
2220dcb9ef1SAndrey Kiselev</table>
22387c5da6fSAndrey Kiselev<a name="DIAGNOSTICS"></a>
22487c5da6fSAndrey Kiselev<h2>DIAGNOSTICS</h2>
2250dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2260dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
2270dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
2280dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
2290dcb9ef1SAndrey Kiselev<td width="8%"></td>
2300dcb9ef1SAndrey Kiselev<td width="91%">
2310dcb9ef1SAndrey Kiselev<p>All error messages are directed to the
2320dcb9ef1SAndrey Kiselev<i>TIFFError</i>(3TIFF) routine.</p>
2330dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2340dcb9ef1SAndrey Kiselev<p><b>Sorry, can not handle %d-bit pictures</b>. The image
2350dcb9ef1SAndrey Kiselevhad <i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
2360dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2370dcb9ef1SAndrey Kiselev<p><b>Sorry, can not handle %d-channel images</b>. The image
2380dcb9ef1SAndrey Kiselevhad <i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
2390dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2400dcb9ef1SAndrey Kiselev<p><b>Missing needed &quot;PhotometricInterpretation&quot;
2410dcb9ef1SAndrey Kiselevtag</b>. The image did not have a tag that describes how to
2420dcb9ef1SAndrey Kiselevdisplay the data.</p>
2430dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2440dcb9ef1SAndrey Kiselev<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
2450dcb9ef1SAndrey KiselevRGB</b>. The image was missing a tag that describes how to
2460dcb9ef1SAndrey Kiselevdisplay it, but because it has 3 or 4 samples/pixel, it is
2470dcb9ef1SAndrey Kiselevassumed to be <small>RGB.</small></p>
2480dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2490dcb9ef1SAndrey Kiselev<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
25087c5da6fSAndrey Kiselevmin-is-black</b>. The image was missing a tag that describes
25187c5da6fSAndrey Kiselevhow to display it, but because it has 1 sample/pixel, it is
25287c5da6fSAndrey Kiselevassumed to be a grayscale or bilevel image.</p>
2530dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2540dcb9ef1SAndrey Kiselev<p><b>No space for photometric conversion table</b>. There
2550dcb9ef1SAndrey Kiselevwas insufficient memory for a table used to convert image
2560dcb9ef1SAndrey Kiselevsamples to 8-bit <small>RGB.</small></p>
2570dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2580dcb9ef1SAndrey Kiselev<p><b>Missing required &quot;Colormap&quot; tag</b>. A
2590dcb9ef1SAndrey KiselevPalette image did not have a required <i>Colormap</i>
2600dcb9ef1SAndrey Kiselevtag.</p>
2610dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2620dcb9ef1SAndrey Kiselev<p><b>No space for tile buffer</b>. There was insufficient
2630dcb9ef1SAndrey Kiselevmemory to allocate an i/o buffer.</p>
2640dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2650dcb9ef1SAndrey Kiselev<p><b>No space for strip buffer</b>. There was insufficient
2660dcb9ef1SAndrey Kiselevmemory to allocate an i/o buffer.</p>
2670dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2680dcb9ef1SAndrey Kiselev<p><b>Can not handle format</b>. The image has a format
2690dcb9ef1SAndrey Kiselev(combination of <i>BitsPerSample</i>,
2700dcb9ef1SAndrey Kiselev<i>SamplesPerPixel</i>, and
27187c5da6fSAndrey Kiselev<i>PhotometricInterpretation</i>) that
27287c5da6fSAndrey Kiselev<i>TIFFReadRGBAImage</i> can not handle.</p>
2730dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2740dcb9ef1SAndrey Kiselev<p><b>No space for B&amp;W mapping table</b>. There was
2750dcb9ef1SAndrey Kiselevinsufficient memory to allocate a table used to map
2760dcb9ef1SAndrey Kiselevgrayscale data to <small>RGB.</small></p>
2770dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2780dcb9ef1SAndrey Kiselev<p><b>No space for Palette mapping table</b>. There was
2790dcb9ef1SAndrey Kiselevinsufficient memory to allocate a table used to map data to
2800dcb9ef1SAndrey Kiselev8-bit <small>RGB.</small></p>
2810dcb9ef1SAndrey Kiselev</td>
2820dcb9ef1SAndrey Kiselev</table>
28387c5da6fSAndrey Kiselev<a name="SEE ALSO"></a>
28487c5da6fSAndrey Kiselev<h2>SEE ALSO</h2>
2850dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2860dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void"
2870dcb9ef1SAndrey Kiselev       cols="2" cellspacing="0" cellpadding="0">
2880dcb9ef1SAndrey Kiselev<tr valign="top" align="left">
2890dcb9ef1SAndrey Kiselev<td width="8%"></td>
2900dcb9ef1SAndrey Kiselev<td width="91%">
2910dcb9ef1SAndrey Kiselev<p><b>TIFFOpen</b>(3TIFF), <b>TIFFRGBAImage</b>(3TIFF),
2920776b32dSAndrey Kiselev<b>TIFFReadRGBAStrip</b>(3TIFF),
2930776b32dSAndrey Kiselev<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
2940dcb9ef1SAndrey Kiselev<!-- INDENTATION -->
2950dcb9ef1SAndrey Kiselev<p>Libtiff library home page:
296*d4dd6cccSBob Friesenhahn<b>http://www.simplesystems.org/libtiff/</b></p>
2970dcb9ef1SAndrey Kiselev</td>
2980dcb9ef1SAndrey Kiselev</table>
29987c5da6fSAndrey Kiselev<hr>
30087c5da6fSAndrey Kiselev</body>
30187c5da6fSAndrey Kiselev</html>
302