TIFFReadRGBATile  -  read  and decode an image tile 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 TIFFReadRGBATile(TIFF* tif, uint32 x, uint32 y, uint32 * raster )


DESCRIPTION

       TIFFReadRGBATile reads a single tile of a tile-based image
       into  memory, storing the result in the user supplied RGBA
       raster.  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).

       The  x and y values are the offsets from the top left cor­
       ner to the top left corner of the tile to be  read.   They
       must be an exact multiple of the tile width and length.

       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 tile.
       That is bottom to  top  organization.   Edge  tiles  which
       partly  fall  off the image will be filled out with appro­
       priate zeroed areas.

       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.

       TIFFReadRGBATile is just a wrapper around the more general
       TIFFRGBAImage(3T) facilities.  It's  main  advantage  over

       images a single buffer capable of holding the whole  image
       doesn't  need  to  be allocated, only enough for one tile.
       The TIFFReadRGBAStrip() function does a similar  operation
       for stripped 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
       RGB.

       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), TIFFReadRGBAStrip(3T)


Man(1) output converted with man2html