summaryrefslogtreecommitdiff
path: root/doc/functions/TIFFReadTile.rst
blob: b7d6c31f8ba7f5aaa4f3fdb508a0d48450517f41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
TIFFReadTile
============

Synopsis
--------

.. highlight:: c

::

    #include <tiffio.h>

.. c:function:: tsize_t TIFFReadTile(TIFF* tif, tdata_t buf, uint32_t x, uint32_t y, uint32_t z, tsample_t sample)

Description
-----------

Return the data for the tile *containing* the specified coordinates. The
data placed in *buf* are returned decompressed and, typically, in the
native byte- and bit-ordering, but are otherwise packed (see further
below). The buffer must be large enough to hold an entire tile of data.
Applications should call the routine :c:func:`TIFFTileSize` to find out
the size (in bytes) of a tile buffer. The *x* and *y* parameters are
always used by :c:func:`TIFFReadTile`.  The *z* parameter is used if the
image is deeper than 1 slice (``ImageDepth`` > 1).  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 differences between
the image and the native machine by converting data to the native machine
order.  Bit reversal 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.

Return values
-------------

:c:func:`TIFFReadTile` returns -1 if it detects an error; otherwise the
number of bytes in the decoded tile is returned.

Diagnostics
-----------

All error messages are directed to the :c:func:`TIFFError` routine.

See also
--------

:doc:`TIFFCheckTile` (3tiff),
:doc:`TIFFComputeTile` (3tiff),
:doc:`TIFFOpen` (3tiff),
:doc:`TIFFReadEncodedTile` (3tiff),
:doc:`TIFFReadRawTile` (3tiff),
:doc:`libtiff` (3tiff)