2006-01-02 18:50:44 -05:00
|
|
|
<!-- Creator : groff version 1.19.2 -->
|
|
|
|
<!-- CreationDate: Mon Jan 2 17:41:49 2006 -->
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
2005-03-06 06:11:43 -05:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
2006-01-02 18:50:44 -05:00
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
2005-03-06 06:11:43 -05:00
|
|
|
<meta name="Content-Style" content="text/css">
|
2006-01-02 18:50:44 -05:00
|
|
|
<style type="text/css">
|
|
|
|
p { margin-top: 0; margin-bottom: 0; }
|
|
|
|
pre { margin-top: 0; margin-bottom: 0; }
|
|
|
|
table { margin-top: 0; margin-bottom: 0; }
|
|
|
|
</style>
|
2005-03-06 06:11:43 -05:00
|
|
|
<title>TIFFWriteScanline</title>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<h1 align=center>TIFFWriteScanline</h1>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a href="#NAME">NAME</a><br>
|
|
|
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
|
|
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
|
|
|
<a href="#NOTES">NOTES</a><br>
|
|
|
|
<a href="#RETURN VALUES">RETURN VALUES</a><br>
|
|
|
|
<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
|
|
|
|
<a href="#BUGS">BUGS</a><br>
|
|
|
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
|
|
|
|
|
|
|
<hr>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="NAME"></a>
|
|
|
|
<h2>NAME</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">TIFFWriteScanline
|
|
|
|
− write a scanline to an open <small>TIFF</small>
|
|
|
|
file</p>
|
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="SYNOPSIS"></a>
|
|
|
|
<h2>SYNOPSIS</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>#include
|
|
|
|
<tiffio.h></b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>int
|
|
|
|
TIFFWriteScanline(TIFF *</b><i>tif</i><b>, tdata_t</b>
|
|
|
|
<i>buf</i><b>, uint32</b> <i>row</i><b>, tsample_t</b>
|
|
|
|
<i>sample</i><b>)</b></p>
|
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="DESCRIPTION"></a>
|
|
|
|
<h2>DESCRIPTION</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Write data to a
|
|
|
|
file at the specified row. The <i>sample</i> parameter is
|
|
|
|
used only if data are organized in separate planes
|
|
|
|
(<i>PlanarConfiguration</i>=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
|
|
|
|
<small>TIFF</small> directory (see further below). If the
|
|
|
|
current scanline is past the end of the current subfile, the
|
|
|
|
<i>ImageLength</i> field is automatically increased to
|
|
|
|
include the scanline (except for
|
2005-03-06 06:11:43 -05:00
|
|
|
<i>PlanarConfiguration</i>=2, where the <i>ImageLength</i>
|
|
|
|
cannot be changed once the first data are written). If the
|
|
|
|
<i>ImageLength</i> is increased, the <i>StripOffsets</i> and
|
|
|
|
<i>StripByteCounts</i> fields are similarly enlarged to
|
|
|
|
reflect data written past the previous end of image.</p>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="NOTES"></a>
|
|
|
|
<h2>NOTES</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">The library
|
|
|
|
writes encoded data using the native machine byte order.
|
|
|
|
Correctly implemented <small>TIFF</small> 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.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">In C++ the
|
|
|
|
<i>sample</i> parameter defaults to 0.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Once data are
|
|
|
|
written to a file for the current directory, the values of
|
|
|
|
certain tags may not be altered; see
|
|
|
|
<i>TIFFSetField</i>(3TIFF) for more information.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">It is not
|
|
|
|
possible to write scanlines to a file that uses a tiled
|
|
|
|
organization. The routine <i>TIFFIsTiled</i> can be used to
|
|
|
|
determine if the file is organized as tiles or strips.</p>
|
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="RETURN VALUES"></a>
|
|
|
|
<h2>RETURN VALUES</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><i>TIFFWriteScanline</i>
|
|
|
|
returns −1 if it immediately detects an error and 1
|
|
|
|
for a successful write.</p>
|
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="DIAGNOSTICS"></a>
|
|
|
|
<h2>DIAGNOSTICS</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">All error
|
|
|
|
messages are directed to the <i>TIFFError</i>(3TIFF)
|
|
|
|
routine.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>%s: File not
|
|
|
|
open for writing .</b> The file was opened for reading, not
|
|
|
|
writing.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>Can not
|
|
|
|
write scanlines to a tiled image</b>. An attempt was made to
|
|
|
|
write a scanline to a tiled image. The image is assumed to
|
|
|
|
be organized in tiles because the <i>TileWidth</i> and
|
|
|
|
<i>TileLength</i> tags have been set with
|
|
|
|
<i>TIFFSetField</i>(3TIFF).</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>Compression
|
|
|
|
algorithm does not support random access</b>. Data was
|
|
|
|
written in a non-sequential order to a file that uses a
|
|
|
|
compression algorithm and that has <i>RowsPerStrip</i>
|
|
|
|
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
|
|
|
|
<i>RowsPerStrip</i> should be set to one.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
|
|
|
|
"ImageWidth" before writing data</b>. The
|
|
|
|
image’s width has not be set before the first write.
|
|
|
|
See <b>TIFFSetField</b>(3TIFF) for information on how to do
|
2005-03-06 06:11:43 -05:00
|
|
|
this.</p>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
|
|
|
|
"PlanarConfiguration" before writing data</b>. The
|
|
|
|
organization of data has not be defined before the first
|
|
|
|
write. See <b>TIFFSetField</b>(3TIFF) for information on how
|
|
|
|
to do this.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>Can not
|
|
|
|
change "ImageLength" when using separate
|
|
|
|
planes</b>. Separate image planes are being used
|
2005-03-06 06:11:43 -05:00
|
|
|
(<i>PlanarConfiguration</i>=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 contiguous manner
|
|
|
|
(<i>PlanarConfiguration</i>=1).</p>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>%d: Sample
|
|
|
|
out of range, max %d</b>. The <i>sample</i> parameter was
|
|
|
|
greater than the value of the SamplesPerPixel tag.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
|
|
|
|
for strip arrays .</b> There was not enough space for the
|
|
|
|
arrays that hold strip offsets and byte counts.</p>
|
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="BUGS"></a>
|
|
|
|
<h2>BUGS</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Writing
|
|
|
|
subsampled YCbCR data does not work correctly because, for
|
|
|
|
<i>PlanarConfiguration</i>=2 the size of a scanline is not
|
|
|
|
calculated on a per-sample basis, and for
|
2005-03-06 06:11:43 -05:00
|
|
|
<i>PlanarConfiguration</i>=1 the library does not pack the
|
|
|
|
block-interleaved samples.</p>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
2005-03-06 06:11:43 -05:00
|
|
|
<a name="SEE ALSO"></a>
|
|
|
|
<h2>SEE ALSO</h2>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
|
2005-12-29 17:01:44 -05:00
|
|
|
<b>TIFFWriteEncodedStrip</b>(3TIFF),
|
|
|
|
<b>TIFFWriteRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
|
2006-01-02 18:50:44 -05:00
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Libtiff library
|
|
|
|
home page: <b>http://www.remotesensing.org/libtiff/</b></p>
|
2005-03-06 06:11:43 -05:00
|
|
|
<hr>
|
|
|
|
</body>
|
|
|
|
</html>
|