# TIFFWriteEncodedTile

## Synopsis

    #include <tiffio.h>

tmsize_t TIFFWriteEncodedTile(TIFF *tif, uint32_t tile, void *buf, tmsize_t size)

## Description

Compress size bytes of raw data from buf and append the result to the end of the specified tile. Note that the value of tile is a "raw tile number". That is, the caller must take into account whether or not the data are organized in separate planes (`PlanarConfiguration` = 2). `TIFFComputeTile()` automatically does this when converting an (x,y,z,sample) coordinate quadruple to a tile number.

## Notes

The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with `BitsPerSample` greater than 8.

## Return values

-1 is returned if an error was encountered. Otherwise, the value of size is returned.

## Diagnostics

All error messages are directed to the `TIFFErrorExtR()` routine.

`%s: File not open for writing`:

> The file was opened for reading, not writing.

`Can not write tiles to a stripped image`:

> The image is assumed to be organized in strips because neither of the `TileWidth` or `TileLength` tags have been set with `TIFFSetField()`.

`%s: Must set "ImageWidth" before writing data`:

> The image's width has not been set before the first write. See `TIFFSetField()` for information on how to do this.

`%s: Must set "PlanarConfiguration" before writing data`:

> The organization of data has not be defined before the first write. See `TIFFSetField()` for information on how to do this.

`%s: No space for tile arrays"`:

> There was not enough space for the arrays that hold tile offsets and byte counts.

## See also

TIFFOpen (3tiff), TIFFWriteTile (3tiff), TIFFWriteRawTile (3tiff), libtiff (3tiff)