TIFFWriteScanline(3tiff)
TIFFWriteScanline(3TIFFMISC. REFERENCE MANUAL PAGETIFFWriteScanline(3TIFF)
NAME
TIFFWriteScanline - write a scanline to an open TIFF file
SYNOPSIS
#include <tiffio.h>
int TIFFWriteScanline(TIFF *tif, tdata_t buf, uint32 row
DESCRIPTION
Write data to a file at the specified row. The sample param-
eter is used only if data are organized in separate planes
(PlanarConfiguration=2). The data are assumed to be
uncompressed and in the native bit- and byte-order of the
host machine. The data written to the file is compressed
according to the compression scheme of the current TIFF
directory (see further below). If the current scanline is
past the end of the current subfile, the ImageLength field
is automatically increased to include the scanline (except
for PlanarConfiguration=2, where the ImageLength cannot be
changed once the first data are written). If the ImageLength
is increased, the StripOffsets and StripByteCounts fields
are similarly enlarged to reflect data written past the pre-
vious end of image.
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. The library attempts
to hide bit-ordering differences between the image and the
native machine by converting data from the native machine
order.
In C++ the sample parameter defaults to 0.
Once data are written to a file for the current directory,
the values of certain tags may not be altered; see
TIFFSetField(3TIFF) for more information.
It is not possible to write scanlines to a file that uses a
tiled organization. The routine TIFFIsTiled can be used to
determine if the file is organized as tiles or strips.
RETURN VALUES
TIFFWriteScanline returns -1 if it immediately detects an
error and 1 for a successful write.
DIAGNOSTICS
All error messages are directed to the TIFFError(3TIFF) rou-
tine.
libtiff Last change: December 16, 1991 1
TIFFWriteScanline(3TIFFMISC. REFERENCE MANUAL PAGETIFFWriteScanline(3TIFF)
%s: File not open for writing . The file was opened for
reading, not writing.
Can not write scanlines to a tiled image. An attempt was
made to write a scanline to a tiled image. The image is
assumed to be organized in tiles because the TileWidth and
TileLength tags have been set with TIFFSetField(3TIFF).
Compression algorithm does not support random access. Data
was written in a non-sequential order to a file that uses a
compression algorithm and that has RowsPerStrip greater than
one. That is, data in the image is to be 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 written as entire
strips, sequentially by rows, or the value of RowsPerStrip
should be set to one.
%s: Must set "ImageWidth" before writing data. The image's
width has not be set before the first write. See
TIFFSetField(3TIFF) 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(3TIFF) for information on how to do
this.
Can not change "ImageLength" when using separate planes.
Separate image planes are being used (PlanarConfigura-
tion=2), but the number of rows has not been specified
before the first write. The library supports the dynamic
growth of an image only when data are organized in a con-
tiguous manner (PlanarConfiguration=1).
%d: Sample out of range, max %d. The sample parameter was
greater than the value of the SamplesPerPixel tag.
%s: No space for strip arrays . There was not enough space
for the arrays that hold strip offsets and byte counts.
BUGS
Writing subsampled YCbCR data does not work correctly
because, for PlanarConfiguration=2 the size of a scanline is
not calculated on a per-sample basis, and for PlanarConfi-
guration=1 the library does not pack the block-interleaved
samples.
SEE ALSO
libtiff(3TIFF), TIFFOpen(3TIFF),
TIFFWriteEncodedStrip(3TIFF), TIFFWriteRawStrip(3TIFF)
libtiff Last change: December 16, 1991 2
Man(1) output converted with
man2html