TIFFReadRGBAStrip  - read and decode an image strip into a
       fixed-format raster


SYNOPSIS

       #include <tiffio.h>
       #define TIFFGetR(abgr)   ((abgr) & 0xff)
       #define TIFFGetG(abgr)   (((abgr) >> 8) & 0xff)
       #define TIFFGetB(abgr)   (((abgr) >> 16) & 0xff)
       #define TIFFGetA(abgr)   (((abgr) >> 24) & 0xff)
       int TIFFReadRGBAStrip(TIFF* tif, tstrip_t strip, uint32 * raster )


DESCRIPTION

       TIFFReadRGBAStrip reads a single strip  of  a  strip-based
       image into memory, storing the result in the user supplied
       RGBA raster.  The raster is assumed  to  be  an  array  of
       width  times  rowsperstrip  32-bit entries, where width is
       the width of the image (TIFFTAG_IMAGEWIDTH)  and  rowsper­
       strip  is  the  maximum lines in a strip (TIFFTAG_ROWSPER­
       STRIP).

       The strip value should be the strip number (strip zero  is
       the  first)  as returned by the TIFFComputeStrip function,
       but always for sample 0.

       Note that the raster is assume to be organized  such  that
       the pixel at location (x,y) is raster[y*width+x]; with the
       raster origin in the lower-left hand corner of the  strip.
       That  is  bottom to top organization.  When reading a par­
       tial last strip in the file the last  line  of  the  image
       will begin at the beginning of the buffer.

       Raster  pixels  are  8-bit  packed red, green, blue, alpha
       samples.  The macros  TIFFGetR,  TIFFGetG,  TIFFGetB,  and
       TIFFGetA  should  be  used  to  access individual samples.
       Images without Associated Alpha matting information have a
       constant Alpha of 1.0 (255).

       See  the  TIFFRGBAImage(3T)  page  for more details on how
       various image types are converted to RGBA values.


NOTES

       Samples must be either 1, 2, 4, 8, or 16 bits.  Colorimet­
       ric  samples/pixel  must  be either 1, 3, or 4 (i.e.  Sam­
       plesPerPixel minus ExtraSamples).

       Palette image colormaps  that  appear  to  be  incorrectly
       written  as  8-bit  values  are  automatically  scaled  to
       16-bits.

       TIFFReadRGBAStrip  is  just  a  wrapper  around  the  more

       over the similar TIFFReadRGBAImage() function is that  for
       large  images a single buffer capable of holding the whole
       image doesn't need to be allocated, only  enough  for  one
       strip.   The  TIFFReadRGBATile()  function  does a similar
       operation for tiled images.


RETURN VALUES

       1 is returned if the image was successfully read and  con­
       verted.   Otherwise, 0 is returned if an error was encoun­
       tered.


DIAGNOSTICS

       All error messages are directed to the TIFFError(3T)  rou­
       tine.

       Sorry,  can  not  handle  %d-bit  pictures.  The image had
       BitsPerSample other than 1, 2, 4, 8, or 16.

       Sorry, can not handle %d-channel images.   The  image  had
       SamplesPerPixel other than 1, 3, or 4.

       Missing needed "PhotometricInterpretation" tag.  The image
       did not have a tag that describes how to display the data.

       No  "PhotometricInterpretation"  tag,  assuming  RGB.  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 RGB.

       No "PhotometricInterpretation" tag, assuming min-is-black.
       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.

       No  space  for  photometric  conversion  table.  There was
       insufficient memory for a table used to convert image sam­
       ples to 8-bit RGB.

       Missing  required "Colormap" tag.  A Palette image did not
       have a required Colormap tag.

       No space for tile buffer.  There was  insufficient  memory
       to allocate an i/o buffer.

       No  space for strip buffer.  There was insufficient memory
       to allocate an i/o buffer.

       Can not handle format.  The image has a  format  (combina­
       tion of BitsPerSample, SamplesPerPixel, and PhotometricIn­
       terpretation) that TIFFReadRGBAImage can not handle.

       No space for B&W mapping table.   There  was  insufficient
       memory  to  allocate a table used to map grayscale data to


       No space for Palette mapping table.   There  was  insuffi­
       cient memory to allocate a table used to map data to 8-bit
       RGB.


BUGS

       Orientations other than bottom-left, or top-left  are  not
       handled correctly.


SEE ALSO

       libtiff(3T),  TIFFOpen(3T), TIFFRGBAImage(3T), TIFFReadRG­
       BAImage(3T), TIFFReadRGBATile(3T)


Man(1) output converted with man2html