0
|
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 − 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 <tiffio.h></b></p>
|
|
43 |
<!-- INDENTATION -->
|
|
44 |
<p><b>int TIFFWriteScanline(TIFF *</b><i>tif</i><b>,
|
|
45 |
tdata_t</b> <i>buf</i><b>, uint32</b> <i>row</i><b>,
|
|
46 |
tsample_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
|
|
59 |
in separate planes (<i>PlanarConfiguration</i>=2). The data
|
|
60 |
are assumed to be uncompressed and in the native bit- and
|
|
61 |
byte-order of the host machine. The data written to the file
|
|
62 |
is compressed according to the compression scheme of the
|
|
63 |
current <small>TIFF</small> directory (see further below).
|
|
64 |
If the current scanline is past the end of the current
|
|
65 |
subfile, the <i>ImageLength</i> field is automatically
|
|
66 |
increased to include the scanline (except for
|
|
67 |
<i>PlanarConfiguration</i>=2, where the <i>ImageLength</i>
|
|
68 |
cannot 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
|
|
71 |
reflect 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
|
|
83 |
byte order. Correctly implemented <small>TIFF</small>
|
|
84 |
readers are expected to do any necessary byte-swapping to
|
|
85 |
correctly process image data with BitsPerSample greater than
|
|
86 |
8. The library attempts to hide bit-ordering differences
|
|
87 |
between the image and the native machine by converting data
|
|
88 |
from 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
|
|
93 |
directory, the values of certain tags may not be altered;
|
|
94 |
see <i>TIFFSetField</i>(3TIFF) for more information.</p>
|
|
95 |
<!-- INDENTATION -->
|
|
96 |
<p>It is not possible to write scanlines to a file that uses
|
|
97 |
a tiled organization. The routine <i>TIFFIsTiled</i> can be
|
|
98 |
used to determine if the file is organized as tiles or
|
|
99 |
strips.</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 −1 if it
|
|
111 |
immediately detects an error and 1 for a successful
|
|
112 |
write.</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
|
|
127 |
opened for reading, not writing.</p>
|
|
128 |
<!-- INDENTATION -->
|
|
129 |
<p><b>Can not write scanlines to a tiled image</b>. An
|
|
130 |
attempt was made to write a scanline to a tiled image. The
|
|
131 |
image is assumed to be organized in tiles because the
|
|
132 |
<i>TileWidth</i> and <i>TileLength</i> tags have been set
|
|
133 |
with <i>TIFFSetField</i>(3TIFF).</p>
|
|
134 |
<!-- INDENTATION -->
|
|
135 |
<p><b>Compression algorithm does not support random
|
|
136 |
access</b>. Data was written in a non-sequential order to a
|
|
137 |
file that uses a compression algorithm and that has
|
|
138 |
<i>RowsPerStrip</i> greater than one. That is, data in the
|
|
139 |
image is to be stored in a compressed form, and with
|
|
140 |
multiple rows packed into a strip. In this case, the library
|
|
141 |
does not support random access to the data. The data should
|
|
142 |
either be written as entire strips, sequentially by rows, or
|
|
143 |
the value of <i>RowsPerStrip</i> should be set to one.</p>
|
|
144 |
<!-- INDENTATION -->
|
|
145 |
<p><b>%s: Must set "ImageWidth" before writing
|
|
146 |
data</b>. The image’s width has not be set before the
|
|
147 |
first write. See <b>TIFFSetField</b>(3TIFF) for information
|
|
148 |
on how to do this.</p>
|
|
149 |
<!-- INDENTATION -->
|
|
150 |
<p><b>%s: Must set "PlanarConfiguration" before
|
|
151 |
writing data</b>. The organization of data has not be
|
|
152 |
defined before the first write. See
|
|
153 |
<b>TIFFSetField</b>(3TIFF) for information on how to do
|
|
154 |
this.</p>
|
|
155 |
<!-- INDENTATION -->
|
|
156 |
<p><b>Can not change "ImageLength" when using
|
|
157 |
separate planes</b>. Separate image planes are being used
|
|
158 |
(<i>PlanarConfiguration</i>=2), but the number of rows has
|
|
159 |
not been specified before the first write. The library
|
|
160 |
supports the dynamic growth of an image only when data are
|
|
161 |
organized 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>
|
|
165 |
parameter was greater than the value of the SamplesPerPixel
|
|
166 |
tag.</p>
|
|
167 |
<!-- INDENTATION -->
|
|
168 |
<p><b>%s: No space for strip arrays .</b> There was not
|
|
169 |
enough space for the arrays that hold strip offsets and byte
|
|
170 |
counts.</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
|
|
182 |
because, for <i>PlanarConfiguration</i>=2 the size of a
|
|
183 |
scanline is not calculated on a per-sample basis, and for
|
|
184 |
<i>PlanarConfiguration</i>=1 the library does not pack the
|
|
185 |
block-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>
|