2002-10-07 09:47:36 -04:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
|
|
|
<meta name="Content-Style" content="text/css">
|
|
|
|
<title>TIFFWriteScanline</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<h1 align=center>TIFFWriteScanline</h1>
|
|
|
|
<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>
|
2003-11-27 10:07:01 -05:00
|
|
|
<!-- Creator : groff version 1.17.2 -->
|
|
|
|
<!-- CreationDate: Thu Nov 27 17:58:07 2003 -->
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="NAME"></a>
|
|
|
|
<h2>NAME</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
TIFFWriteScanline - write a scanline to an open <small>TIFF</small> file</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="SYNOPSIS"></a>
|
|
|
|
<h2>SYNOPSIS</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>#include <tiffio.h><br>
|
2002-10-07 09:47:36 -04:00
|
|
|
int TIFFWriteScanline(TIFF* tif, tdata_t buf, uint32 row,
|
2003-11-27 10:07:01 -05:00
|
|
|
tsample_t sample)</b></td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="DESCRIPTION"></a>
|
|
|
|
<h2>DESCRIPTION</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
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
|
2002-10-07 09:47:36 -04: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
|
2003-11-27 10:07:01 -05:00
|
|
|
reflect data written past the previous end of
|
|
|
|
image.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="NOTES"></a>
|
|
|
|
<h2>NOTES</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
The library writes encoded data using the native machine
|
2002-10-07 09:47:36 -04:00
|
|
|
byte order. Correctly implemented <small>TIFF</small>
|
1999-11-22 23:29:23 -05:00
|
|
|
readers are expected to do any necessary byte-swapping to
|
2002-10-07 09:47:36 -04:00
|
|
|
correctly process image data with BitsPerSample greater than
|
|
|
|
8. The library attempts to hide bit-ordering differences
|
1999-11-22 23:29:23 -05:00
|
|
|
between the image and the native machine by converting data
|
2003-11-27 10:07:01 -05:00
|
|
|
from the native machine order.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
In C++ the <i>sample</i> parameter defaults to
|
|
|
|
0.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
Once data are written to a file for the current directory,
|
|
|
|
the values of certain tags may not be altered; see
|
|
|
|
<i>TIFFSetField</i>(3T) for more information.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
It is not possible to write scanlines to a file that uses a
|
|
|
|
tiled organization. The routine <i>TIFFIsTiled</i> can be
|
2002-10-07 09:47:36 -04:00
|
|
|
used to determine if the file is organized as tiles or
|
2003-11-27 10:07:01 -05:00
|
|
|
strips.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="RETURN VALUES"></a>
|
|
|
|
<h2>RETURN VALUES</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<i>TIFFWriteScanline</i> returns -1 if it immediately
|
|
|
|
detects an error and 1 for a successful write.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="DIAGNOSTICS"></a>
|
|
|
|
<h2>DIAGNOSTICS</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
All error messages are directed to the <i>TIFFError</i>(3T)
|
|
|
|
routine.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>%s: File not open for writing .</b> The file was opened
|
|
|
|
for reading, not writing.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<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
|
2002-10-07 09:47:36 -04:00
|
|
|
<i>TileWidth</i> and <i>TileLength</i> tags have been set
|
2003-11-27 10:07:01 -05:00
|
|
|
with <i>TIFFSetField</i>(3T).</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<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
|
2002-10-07 09:47:36 -04:00
|
|
|
<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
|
2003-11-27 10:07:01 -05:00
|
|
|
the value of <i>RowsPerStrip</i> should be set to
|
|
|
|
one.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>%s: Must set "ImageWidth" before writing
|
|
|
|
data</b>. The image's width has not be set before the first
|
|
|
|
write. See <i>TIFFSetField</i>(3T) for information on how to
|
|
|
|
do this.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>%s: Must set "PlanarConfiguration" before
|
2002-10-07 09:47:36 -04:00
|
|
|
writing data</b>. The organization of data has not be
|
|
|
|
defined before the first write. See <i>TIFFSetField</i>(3T)
|
2003-11-27 10:07:01 -05:00
|
|
|
for information on how to do this.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>Can not change "ImageLength" when using
|
2002-10-07 09:47:36 -04:00
|
|
|
separate planes</b>. Separate image planes are being used
|
|
|
|
(<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
|
2003-11-27 10:07:01 -05:00
|
|
|
(<i>PlanarConfiguration</i>=1).</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>%d: Sample out of range, max %d</b>. The <i>sample</i>
|
2002-10-07 09:47:36 -04:00
|
|
|
parameter was greater than the value of the SamplesPerPixel
|
2003-11-27 10:07:01 -05:00
|
|
|
tag.</td></table>
|
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<b>%s: No space for strip arrays .</b> There was not enough
|
|
|
|
space for the arrays that hold strip offsets and byte
|
|
|
|
counts.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="BUGS"></a>
|
|
|
|
<h2>BUGS</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
Writing subsampled YCbCR data does not work correctly
|
2002-10-07 09:47:36 -04:00
|
|
|
because, for <i>PlanarConfiguration</i>=2 the size of a
|
|
|
|
scanline is not calculated on a per-sample basis, and for
|
|
|
|
<i>PlanarConfiguration</i>=1 the library does not pack the
|
2003-11-27 10:07:01 -05:00
|
|
|
block-interleaved samples.</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<a name="SEE ALSO"></a>
|
|
|
|
<h2>SEE ALSO</h2>
|
2003-11-27 10:07:01 -05:00
|
|
|
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
2002-10-07 09:47:36 -04:00
|
|
|
cols="2" cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
2003-11-27 10:07:01 -05:00
|
|
|
<td width="10%"></td><td width="90%">
|
|
|
|
<i>libtiff</i>(3T), <i>TIFFOpen</i>(3T),
|
2002-10-07 09:47:36 -04:00
|
|
|
<i>TIFFWriteEncodedStrip</i>(3T),
|
2003-11-27 10:07:01 -05:00
|
|
|
<i>TIFFWriteRawStrip</i>(3T)</td></table>
|
2002-10-07 09:47:36 -04:00
|
|
|
<hr>
|
|
|
|
</body>
|
|
|
|
</html>
|