diff options
Diffstat (limited to 'tiff/html/man/TIFFRGBAImage.3tiff.html')
-rw-r--r-- | tiff/html/man/TIFFRGBAImage.3tiff.html | 319 |
1 files changed, 0 insertions, 319 deletions
diff --git a/tiff/html/man/TIFFRGBAImage.3tiff.html b/tiff/html/man/TIFFRGBAImage.3tiff.html deleted file mode 100644 index 7bbee0f..0000000 --- a/tiff/html/man/TIFFRGBAImage.3tiff.html +++ /dev/null @@ -1,319 +0,0 @@ -<!-- Creator : groff version 1.18.1 --> -<!-- CreationDate: Fri Jul 13 17:43:16 2007 --> -<html> -<head> -<meta name="generator" content="groff -Thtml, see www.gnu.org"> -<meta name="Content-Style" content="text/css"> -<title>TIFFRGBAImage</title> -</head> -<body> - -<h1 align=center>TIFFRGBAImage</h1> -<a href="#NAME">NAME</a><br> -<a href="#SYNOPSIS">SYNOPSIS</a><br> -<a href="#DESCRIPTION">DESCRIPTION</a><br> -<a href="#ALTERNATE RASTER FORMATS">ALTERNATE RASTER FORMATS</a><br> -<a href="#SIMULTANEOUS RASTER STORE AND DISPLAY">SIMULTANEOUS RASTER STORE AND DISPLAY</a><br> -<a href="#SUPPORTING ADDITIONAL TIFF FORMATS">SUPPORTING ADDITIONAL TIFF FORMATS</a><br> -<a href="#NOTES">NOTES</a><br> -<a href="#RETURN VALUES">RETURN VALUES</a><br> -<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br> -<a href="#SEE ALSO">SEE ALSO</a><br> - -<hr> -<a name="NAME"></a> -<h2>NAME</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p>TIFFRGBAImageOK, TIFFRGBAImageBegin, TIFFRGBAImageGet, -TIFFRGBAImageEnd − read and decode an image into a -raster</p> -</td> -</table> -<a name="SYNOPSIS"></a> -<h2>SYNOPSIS</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p><b>#include <tiffio.h></b></p> -<!-- INDENTATION --> -<p><b>typedef unsigned char TIFFRGBValue; typedef struct -_TIFFRGBAImage TIFFRGBAImage;</b></p> -<!-- INDENTATION --> -<p><b>int TIFFRGBAImageOK(TIFF *</b><i>tif</i><b>, char</b> -<i>emsg[1024]</i><b>)<br> -int TIFFRGBAImageBegin(TIFFRGBAImage *</b><i>img</i><b>, -TIFF*</b> <i>tif</i><b>, int</b> <i>stopOnError</i><b>, -char</b> <i>emsg[1024]</i><b>)<br> -int TIFFRGBAImageGet(TIFFRGBAImage *</b><i>img</i><b>, -uint32*</b> <i>raster</i><b>, uint32</b> <i>width</i> <b>, -uint32</b> <i>height</i><b>)<br> -void TIFFRGBAImageEnd(TIFFRGBAImage -*</b><i>img</i><b>)</b></p> -</td> -</table> -<a name="DESCRIPTION"></a> -<h2>DESCRIPTION</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p>The routines described here provide a high-level -interface through which <small>TIFF</small> 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> -<!-- INDENTATION --> -<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> -<!-- INDENTATION --> -<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 <b>lower-left</b> hand corner.)</p> -<!-- INDENTATION --> -<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> -<!-- INDENTATION --> -<p><i>TIFFRGBAImageGet</i> converts non-8-bit images by -scaling sample values. Palette, grayscale, bilevel, -<small>CMYK</small> , and YCbCr images are converted to -<small>RGB</small> transparently. Raster pixels are returned -uncorrected by any colorimetry information present in the -directory.</p> -<!-- INDENTATION --> -<p>The parameter <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.</p> -</td> -</table> -<a name="ALTERNATE RASTER FORMATS"></a> -<h2>ALTERNATE RASTER FORMATS</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p>To use the core support for reading and processing -<small>TIFF</small> 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 <small>ABGR</small> 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.</p> -</td> -</table> -<a name="SIMULTANEOUS RASTER STORE AND DISPLAY"></a> -<h2>SIMULTANEOUS RASTER STORE AND DISPLAY</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p>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>tiffgt</i>(1) utility uses the following put method to -update the display as the raster is being filled:</p> -<!-- INDENTATION --> -<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->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> -<!-- INDENTATION --> -<p>(the original routine provided by the library is saved in -the variable <i>putContig</i>.)</p> -</td> -</table> -<a name="SUPPORTING ADDITIONAL TIFF FORMATS"></a> -<h2>SUPPORTING ADDITIONAL TIFF FORMATS</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p>The <i>TIFFRGBAImage</i> routines support the most -commonly encountered flavors of <small>TIFF.</small> It is -possible to extend this support by overriding the -‘‘<i>get method</i>’’ invoked by -<i>TIFFRGBAImageGet</i> to read <small>TIFF</small> 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.</p> -</td> -</table> -<a name="NOTES"></a> -<h2>NOTES</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<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> -<!-- INDENTATION --> -<p>Palette image colormaps that appear to be incorrectly -written as 8-bit values are automatically scaled to -16-bits.</p> -</td> -</table> -<a name="RETURN VALUES"></a> -<h2>RETURN VALUES</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p>All routines return 1 if the operation was successful. -Otherwise, 0 is returned if an error was encountered and -<i>stopOnError</i> is zero.</p> -</td> -</table> -<a name="DIAGNOSTICS"></a> -<h2>DIAGNOSTICS</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p>All error messages are directed to the -<i>TIFFError</i>(3TIFF) routine.</p> -<!-- INDENTATION --> -<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> -<!-- INDENTATION --> -<p><b>Sorry, can not handle %d-channel images</b>. The image -had <i>SamplesPerPixel</i> other than 1, 3, or 4.</p> -<!-- INDENTATION --> -<p><b>Missing needed "PhotometricInterpretation" -tag</b>. The image did not have a tag that describes how to -display the data.</p> -<!-- INDENTATION --> -<p><b>No "PhotometricInterpretation" 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 <small>RGB.</small></p> -<!-- INDENTATION --> -<p><b>No "PhotometricInterpretation" 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> -<!-- INDENTATION --> -<p><b>No space for photometric conversion table</b>. There -was insufficient memory for a table used to convert image -samples to 8-bit <small>RGB.</small></p> -<!-- INDENTATION --> -<p><b>Missing required "Colormap" tag</b>. A -Palette image did not have a required <i>Colormap</i> -tag.</p> -<!-- INDENTATION --> -<p><b>No space for tile buffer</b>. There was insufficient -memory to allocate an i/o buffer.</p> -<!-- INDENTATION --> -<p><b>No space for strip buffer</b>. There was insufficient -memory to allocate an i/o buffer.</p> -<!-- INDENTATION --> -<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> -<!-- INDENTATION --> -<p><b>No space for B&W mapping table</b>. There was -insufficient memory to allocate a table used to map -grayscale data to <small>RGB.</small></p> -<!-- INDENTATION --> -<p><b>No space for Palette mapping table</b>. There was -insufficient memory to allocate a table used to map data to -8-bit <small>RGB.</small></p> -</td> -</table> -<a name="SEE ALSO"></a> -<h2>SEE ALSO</h2> -<!-- INDENTATION --> -<table width="100%" border=0 rules="none" frame="void" - cols="2" cellspacing="0" cellpadding="0"> -<tr valign="top" align="left"> -<td width="8%"></td> -<td width="91%"> -<p><b>TIFFOpen</b>(3TIFF), <b>TIFFReadRGBAImage</b>(3TIFF), -<b>TIFFReadRGBAImageOriented</b>(3TIFF), -<b>TIFFReadRGBAStrip</b>(3TIFF), -<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p> -<!-- INDENTATION --> -<p>Libtiff library home page: -<b>http://www.remotesensing.org/libtiff/</b></p> -</td> -</table> -<hr> -</body> -</html> |