]>
Commit | Line | Data |
---|---|---|
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 − 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> |