]> git.saurik.com Git - wxWidgets.git/blame - src/tiff/html/man/TIFFWriteScanline.3tiff.html
import libtiff 3.8.2 into the trunk
[wxWidgets.git] / src / tiff / html / man / TIFFWriteScanline.3tiff.html
CommitLineData
8414a40c
VZ
1<!-- Creator : groff version 1.18.1 -->
2<!-- CreationDate: Mon Mar 13 18:03:11 2006 -->
3<html>
4<head>
5<meta name="generator" content="groff -Thtml, see www.gnu.org">
6<meta name="Content-Style" content="text/css">
7<title>TIFFWriteScanline</title>
8</head>
9<body>
10
11<h1 align=center>TIFFWriteScanline</h1>
12<a href="#NAME">NAME</a><br>
13<a href="#SYNOPSIS">SYNOPSIS</a><br>
14<a href="#DESCRIPTION">DESCRIPTION</a><br>
15<a href="#NOTES">NOTES</a><br>
16<a href="#RETURN VALUES">RETURN VALUES</a><br>
17<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
18<a href="#BUGS">BUGS</a><br>
19<a href="#SEE ALSO">SEE ALSO</a><br>
20
21<hr>
22<a name="NAME"></a>
23<h2>NAME</h2>
24<!-- INDENTATION -->
25<table width="100%" border=0 rules="none" frame="void"
26 cols="2" cellspacing="0" cellpadding="0">
27<tr valign="top" align="left">
28<td width="8%"></td>
29<td width="91%">
30<p>TIFFWriteScanline &minus; write a scanline to an open
31<small>TIFF</small> file</p>
32</td>
33</table>
34<a name="SYNOPSIS"></a>
35<h2>SYNOPSIS</h2>
36<!-- INDENTATION -->
37<table width="100%" border=0 rules="none" frame="void"
38 cols="2" cellspacing="0" cellpadding="0">
39<tr valign="top" align="left">
40<td width="8%"></td>
41<td width="91%">
42<p><b>#include &lt;tiffio.h&gt;</b></p>
43<!-- INDENTATION -->
44<p><b>int TIFFWriteScanline(TIFF *</b><i>tif</i><b>,
45tdata_t</b> <i>buf</i><b>, uint32</b> <i>row</i><b>,
46tsample_t</b> <i>sample</i><b>)</b></p>
47</td>
48</table>
49<a name="DESCRIPTION"></a>
50<h2>DESCRIPTION</h2>
51<!-- INDENTATION -->
52<table width="100%" border=0 rules="none" frame="void"
53 cols="2" cellspacing="0" cellpadding="0">
54<tr valign="top" align="left">
55<td width="8%"></td>
56<td width="91%">
57<p>Write data to a file at the specified row. The
58<i>sample</i> parameter is used only if data are organized
59in separate planes (<i>PlanarConfiguration</i>=2). The data
60are assumed to be uncompressed and in the native bit- and
61byte-order of the host machine. The data written to the file
62is compressed according to the compression scheme of the
63current <small>TIFF</small> directory (see further below).
64If the current scanline is past the end of the current
65subfile, the <i>ImageLength</i> field is automatically
66increased to include the scanline (except for
67<i>PlanarConfiguration</i>=2, where the <i>ImageLength</i>
68cannot be changed once the first data are written). If the
69<i>ImageLength</i> is increased, the <i>StripOffsets</i> and
70<i>StripByteCounts</i> fields are similarly enlarged to
71reflect data written past the previous end of image.</p>
72</td>
73</table>
74<a name="NOTES"></a>
75<h2>NOTES</h2>
76<!-- INDENTATION -->
77<table width="100%" border=0 rules="none" frame="void"
78 cols="2" cellspacing="0" cellpadding="0">
79<tr valign="top" align="left">
80<td width="8%"></td>
81<td width="91%">
82<p>The library writes encoded data using the native machine
83byte order. Correctly implemented <small>TIFF</small>
84readers are expected to do any necessary byte-swapping to
85correctly process image data with BitsPerSample greater than
868. The library attempts to hide bit-ordering differences
87between the image and the native machine by converting data
88from the native machine order.</p>
89<!-- INDENTATION -->
90<p>In C++ the <i>sample</i> parameter defaults to 0.</p>
91<!-- INDENTATION -->
92<p>Once data are written to a file for the current
93directory, the values of certain tags may not be altered;
94see <i>TIFFSetField</i>(3TIFF) for more information.</p>
95<!-- INDENTATION -->
96<p>It is not possible to write scanlines to a file that uses
97a tiled organization. The routine <i>TIFFIsTiled</i> can be
98used to determine if the file is organized as tiles or
99strips.</p>
100</td>
101</table>
102<a name="RETURN VALUES"></a>
103<h2>RETURN VALUES</h2>
104<!-- INDENTATION -->
105<table width="100%" border=0 rules="none" frame="void"
106 cols="2" cellspacing="0" cellpadding="0">
107<tr valign="top" align="left">
108<td width="8%"></td>
109<td width="91%">
110<p><i>TIFFWriteScanline</i> returns &minus;1 if it
111immediately detects an error and 1 for a successful
112write.</p>
113</td>
114</table>
115<a name="DIAGNOSTICS"></a>
116<h2>DIAGNOSTICS</h2>
117<!-- INDENTATION -->
118<table width="100%" border=0 rules="none" frame="void"
119 cols="2" cellspacing="0" cellpadding="0">
120<tr valign="top" align="left">
121<td width="8%"></td>
122<td width="91%">
123<p>All error messages are directed to the
124<i>TIFFError</i>(3TIFF) routine.</p>
125<!-- INDENTATION -->
126<p><b>%s: File not open for writing .</b> The file was
127opened for reading, not writing.</p>
128<!-- INDENTATION -->
129<p><b>Can not write scanlines to a tiled image</b>. An
130attempt was made to write a scanline to a tiled image. The
131image is assumed to be organized in tiles because the
132<i>TileWidth</i> and <i>TileLength</i> tags have been set
133with <i>TIFFSetField</i>(3TIFF).</p>
134<!-- INDENTATION -->
135<p><b>Compression algorithm does not support random
136access</b>. Data was written in a non-sequential order to a
137file that uses a compression algorithm and that has
138<i>RowsPerStrip</i> greater than one. That is, data in the
139image is to be stored in a compressed form, and with
140multiple rows packed into a strip. In this case, the library
141does not support random access to the data. The data should
142either be written as entire strips, sequentially by rows, or
143the value of <i>RowsPerStrip</i> should be set to one.</p>
144<!-- INDENTATION -->
145<p><b>%s: Must set &quot;ImageWidth&quot; before writing
146data</b>. The image&rsquo;s width has not be set before the
147first write. See <b>TIFFSetField</b>(3TIFF) for information
148on how to do this.</p>
149<!-- INDENTATION -->
150<p><b>%s: Must set &quot;PlanarConfiguration&quot; before
151writing data</b>. The organization of data has not be
152defined before the first write. See
153<b>TIFFSetField</b>(3TIFF) for information on how to do
154this.</p>
155<!-- INDENTATION -->
156<p><b>Can not change &quot;ImageLength&quot; when using
157separate planes</b>. Separate image planes are being used
158(<i>PlanarConfiguration</i>=2), but the number of rows has
159not been specified before the first write. The library
160supports the dynamic growth of an image only when data are
161organized in a contiguous manner
162(<i>PlanarConfiguration</i>=1).</p>
163<!-- INDENTATION -->
164<p><b>%d: Sample out of range, max %d</b>. The <i>sample</i>
165parameter was greater than the value of the SamplesPerPixel
166tag.</p>
167<!-- INDENTATION -->
168<p><b>%s: No space for strip arrays .</b> There was not
169enough space for the arrays that hold strip offsets and byte
170counts.</p>
171</td>
172</table>
173<a name="BUGS"></a>
174<h2>BUGS</h2>
175<!-- INDENTATION -->
176<table width="100%" border=0 rules="none" frame="void"
177 cols="2" cellspacing="0" cellpadding="0">
178<tr valign="top" align="left">
179<td width="8%"></td>
180<td width="91%">
181<p>Writing subsampled YCbCR data does not work correctly
182because, for <i>PlanarConfiguration</i>=2 the size of a
183scanline is not calculated on a per-sample basis, and for
184<i>PlanarConfiguration</i>=1 the library does not pack the
185block-interleaved samples.</p>
186</td>
187</table>
188<a name="SEE ALSO"></a>
189<h2>SEE ALSO</h2>
190<!-- INDENTATION -->
191<table width="100%" border=0 rules="none" frame="void"
192 cols="2" cellspacing="0" cellpadding="0">
193<tr valign="top" align="left">
194<td width="8%"></td>
195<td width="91%">
196<p><b>TIFFOpen</b>(3TIFF),
197<b>TIFFWriteEncodedStrip</b>(3TIFF),
198<b>TIFFWriteRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
199<!-- INDENTATION -->
200<p>Libtiff library home page:
201<b>http://www.remotesensing.org/libtiff/</b></p>
202</td>
203</table>
204<hr>
205</body>
206</html>