1 <!-- Creator     : groff version 1.18.1 --> 
   2 <!-- CreationDate: Sat Feb 24 18:37:17 2007 --> 
   5 <meta name=
"generator" content=
"groff -Thtml, see www.gnu.org"> 
   6 <meta name=
"Content-Style" content=
"text/css"> 
   7 <title>TIFFReadRGBAStrip
</title> 
  11 <h1 align=center
>TIFFReadRGBAStrip
</h1> 
  12 <a href=
"#NAME">NAME
</a><br> 
  13 <a href=
"#SYNOPSIS">SYNOPSIS
</a><br> 
  14 <a href=
"#DESCRIPTION">DESCRIPTION
</a><br> 
  15 <a href=
"#NOTES">NOTES
</a><br> 
  16 <a href=
"#RETURN VALUES">RETURN VALUES
</a><br> 
  17 <a href=
"#DIAGNOSTICS">DIAGNOSTICS
</a><br> 
  18 <a href=
"#SEE ALSO">SEE ALSO
</a><br> 
  24 <table width=
"100%" border=
0 rules=
"none" frame=
"void" 
  25        cols=
"2" cellspacing=
"0" cellpadding=
"0"> 
  26 <tr valign=
"top" align=
"left"> 
  29 <p>TIFFReadRGBAStrip 
− read and decode an image strip
 
  30 into a fixed-format raster
</p> 
  33 <a name=
"SYNOPSIS"></a> 
  36 <table width=
"100%" border=
0 rules=
"none" frame=
"void" 
  37        cols=
"2" cellspacing=
"0" cellpadding=
"0"> 
  38 <tr valign=
"top" align=
"left"> 
  41 <p><b>#include 
<tiffio.h
></b></p> 
  43 <p><b>#define TIFFGetR(abgr) ((abgr) 
& 0xff)
<br> 
  44 #define TIFFGetG(abgr) (((abgr) 
>> 8) 
& 0xff)
<br> 
  45 #define TIFFGetB(abgr) (((abgr) 
>> 16) 
& 0xff)
<br> 
  46 #define TIFFGetA(abgr) (((abgr) 
>> 24) 
& 
  49 <p><b>int TIFFReadRGBAStrip(TIFF *
</b><i>tif
</i><b>,
 
  50 uint32
</b> <i>row
</i><b>, uint32
 
  51 *
</b><i>raster
</i><b>)
</b></p> 
  54 <a name=
"DESCRIPTION"></a> 
  57 <table width=
"100%" border=
0 rules=
"none" frame=
"void" 
  58        cols=
"2" cellspacing=
"0" cellpadding=
"0"> 
  59 <tr valign=
"top" align=
"left"> 
  62 <p><i>TIFFReadRGBAStrip
</i> reads a single strip of a
 
  63 strip-based image into memory, storing the result in the
 
  64 user supplied RGBA 
<i>raster
</i>. The raster is assumed to
 
  65 be an array of width times rowsperstrip 
32-bit entries,
 
  66 where width is the width of the image (TIFFTAG_IMAGEWIDTH)
 
  67 and rowsperstrip is the maximum lines in a strip
 
  68 (TIFFTAG_ROWSPERSTRIP).
</p> 
  70 <p>The 
<i>row
</i> value should be the row of the first row
 
  71 in the strip (strip * rowsperstrip, zero based).
</p> 
  73 <p>Note that the raster is assume to be organized such that
 
  74 the pixel at location (
<i>x
</i>,
<i>y
</i>) is
 
  75 <i>raster
</i>[
<i>y
</i>*
<i>width
</i>+
<i>x
</i>]; with the
 
  76 raster origin in the 
<i>lower-left hand corner
</i> of the
 
  77 strip. That is bottom to top organization. When reading a
 
  78 partial last strip in the file the last line of the image
 
  79 will begin at the beginning of the buffer.
</p> 
  81 <p>Raster pixels are 
8-bit packed red, green, blue, alpha
 
  82 samples. The macros 
<i>TIFFGetR
</i>, 
<i>TIFFGetG
</i>,
 
  83 <i>TIFFGetB
</i>, and 
<i>TIFFGetA
</i> should be used to
 
  84 access individual samples. Images without Associated Alpha
 
  85 matting information have a constant Alpha of 
1.0 (
255).
</p> 
  87 <p>See the 
<i>TIFFRGBAImage
</i>(
3TIFF) page for more details
 
  88 on how various image types are converted to RGBA values.
</p> 
  94 <table width=
"100%" border=
0 rules=
"none" frame=
"void" 
  95        cols=
"2" cellspacing=
"0" cellpadding=
"0"> 
  96 <tr valign=
"top" align=
"left"> 
  99 <p>Samples must be either 
1, 
2, 
4, 
8, or 
16 bits.
 
 100 Colorimetric samples/pixel must be either 
1, 
3, or 
4 (i.e.
 
 101 <i>SamplesPerPixel
</i> minus 
<i>ExtraSamples
</i>).
</p> 
 103 <p>Palette image colormaps that appear to be incorrectly
 
 104 written as 
8-bit values are automatically scaled to
 
 107 <p><i>TIFFReadRGBAStrip
</i> is just a wrapper around the
 
 108 more general 
<i>TIFFRGBAImage
</i>(
3TIFF) facilities.
 
 109 It
’s main advantage over the similar
 
 110 <i>TIFFReadRGBAImage()
</i> function is that for large images
 
 111 a single buffer capable of holding the whole image
 
 112 doesn
’t need to be allocated, only enough for one
 
 113 strip. The 
<i>TIFFReadRGBATile()
</i> function does a similar
 
 114 operation for tiled images.
</p> 
 117 <a name=
"RETURN VALUES"></a> 
 118 <h2>RETURN VALUES
</h2> 
 120 <table width=
"100%" border=
0 rules=
"none" frame=
"void" 
 121        cols=
"2" cellspacing=
"0" cellpadding=
"0"> 
 122 <tr valign=
"top" align=
"left"> 
 125 <p>1 is returned if the image was successfully read and
 
 126 converted. Otherwise, 
0 is returned if an error was
 
 130 <a name=
"DIAGNOSTICS"></a> 
 133 <table width=
"100%" border=
0 rules=
"none" frame=
"void" 
 134        cols=
"2" cellspacing=
"0" cellpadding=
"0"> 
 135 <tr valign=
"top" align=
"left"> 
 138 <p>All error messages are directed to the
 
 139 <i>TIFFError
</i>(
3TIFF) routine.
</p> 
 141 <p><b>Sorry, can not handle %d-bit pictures
</b>. The image
 
 142 had 
<i>BitsPerSample
</i> other than 
1, 
2, 
4, 
8, or 
16.
</p> 
 144 <p><b>Sorry, can not handle %d-channel images
</b>. The image
 
 145 had 
<i>SamplesPerPixel
</i> other than 
1, 
3, or 
4.
</p> 
 147 <p><b>Missing needed 
"PhotometricInterpretation
" 
 148 tag
</b>. The image did not have a tag that describes how to
 
 149 display the data.
</p> 
 151 <p><b>No 
"PhotometricInterpretation
" tag, assuming
 
 152 RGB
</b>. The image was missing a tag that describes how to
 
 153 display it, but because it has 
3 or 
4 samples/pixel, it is
 
 154 assumed to be 
<small>RGB.
</small></p> 
 156 <p><b>No 
"PhotometricInterpretation
" tag, assuming
 
 157 min-is-black
</b>. The image was missing a tag that describes
 
 158 how to display it, but because it has 
1 sample/pixel, it is
 
 159 assumed to be a grayscale or bilevel image.
</p> 
 161 <p><b>No space for photometric conversion table
</b>. There
 
 162 was insufficient memory for a table used to convert image
 
 163 samples to 
8-bit 
<small>RGB.
</small></p> 
 165 <p><b>Missing required 
"Colormap
" tag
</b>. A
 
 166 Palette image did not have a required 
<i>Colormap
</i> 
 169 <p><b>No space for tile buffer
</b>. There was insufficient
 
 170 memory to allocate an i/o buffer.
</p> 
 172 <p><b>No space for strip buffer
</b>. There was insufficient
 
 173 memory to allocate an i/o buffer.
</p> 
 175 <p><b>Can not handle format
</b>. The image has a format
 
 176 (combination of 
<i>BitsPerSample
</i>,
 
 177 <i>SamplesPerPixel
</i>, and
 
 178 <i>PhotometricInterpretation
</i>) that
 
 179 <i>TIFFReadRGBAImage
</i> can not handle.
</p> 
 181 <p><b>No space for B
&W mapping table
</b>. There was
 
 182 insufficient memory to allocate a table used to map
 
 183 grayscale data to 
<small>RGB.
</small></p> 
 185 <p><b>No space for Palette mapping table
</b>. There was
 
 186 insufficient memory to allocate a table used to map data to
 
 187 8-bit 
<small>RGB.
</small></p> 
 190 <a name=
"SEE ALSO"></a> 
 193 <table width=
"100%" border=
0 rules=
"none" frame=
"void" 
 194        cols=
"2" cellspacing=
"0" cellpadding=
"0"> 
 195 <tr valign=
"top" align=
"left"> 
 198 <p><b>TIFFOpen
</b>(
3TIFF), 
<b>TIFFRGBAImage
</b>(
3TIFF),
 
 199 <b>TIFFReadRGBAImage
</b>(
3TIFF),
 
 200 <b>TIFFReadRGBATile
</b>(
3TIFF), 
<b>libtiff
</b>(
3TIFF)
</p> 
 202 <p>Libtiff library home page:
 
 203 <b>http://www.remotesensing.org/libtiff/
</b></p>