TIFFReadScanline(3TIFF)                 TIFFReadScanline(3TIFF)





NAME
       TIFFReadScanline  -  read  and decode a scanline of data
       from an open TIFF file

SYNOPSIS
       #include <tiffio.h>

       int TIFFReadScanline(TIFF *tif, tdata_t buf, uint32 row,
       tsample_t sample)

DESCRIPTION
       Read  the data for the specified row into the (user sup-
       plied) data buffer buf.  The data  are  returned  decom-
       pressed  and,  in the native byte- and bit-ordering, but
       are otherwise packed (see  further  below).  The  buffer
       must be large enough to hold an entire scanline of data.
       Applications should call the routine TIFFScanlineSize to
       find  out the size (in bytes) of a scanline buffer.  The
       row parameter is always used  by  TIFFReadScanline;  the
       sample  parameter  is used only if data are organized in
       separate planes (PlanarConfiguration=2).

NOTES
       The library attempts to hide bit- and byte-ordering dif-
       ferences  between  the  image  and the native machine by
       converting data to the native machine order.  Bit rever-
       sal  is  done  if  the  FillOrder tag is opposite to the
       native machine bit order. 16-  and  32-bit  samples  are
       automatically  byte-swapped if the file was written with
       a byte order opposite to the native machine byte order,

       In C++ the sample parameter defaults to 0.

RETURN VALUES
       TIFFReadScanline returns -1 if it detects an error; oth-
       erwise 1 is returned.

DIAGNOSTICS
       All  error messages are directed to the TIFFError(3TIFF)
       routine.

       Compression algorithm does not  support  random  access.
       Data was requested in a non-sequential order from a file
       that uses a compression algorithm and that has  RowsPer-
       Strip  greater  than one.  That is, data in the image is
       stored in a compressed  form,  and  with  multiple  rows
       packed  into a strip. In this case, the library does not
       support random access  to  the  data.  The  data  should
       either  be  accessed sequentially, or the file should be
       converted so that each strip is made up of  one  row  of
       data.

BUGS
       Reading  subsampled  YCbCR  data does not work correctly
       because, for PlanarConfiguration=2 the size of  a  scan-
       line  is  not  calculated on a per-sample basis, and for
       PlanarConfiguration=1 the library does  not  unpack  the
       block-interleaved samples; use the strip- and tile-based
       interfaces to read these formats.

SEE ALSO
       TIFFOpen(3TIFF), TIFFReadEncodedStrip(3TIFF),  TIFFRead-
       RawStrip(3TIFF), libtiff(3TIFF)

       Libtiff   library   home   page:  http://www.remotesens-
       ing.org/libtiff/



libtiff                 October 15, 1995TIFFReadScanline(3TIFF)
