author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> |
Tue, 06 Jul 2010 15:10:48 +0300 | |
changeset 30 | 5dc02b23752f |
parent 0 | 1918ee327afb |
permissions | -rw-r--r-- |
0 | 1 |
<!-- Creator : groff version 1.18.1 --> |
30
5dc02b23752f
Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
2 |
<!-- CreationDate: Fri Jul 13 17:43:16 2007 --> |
0 | 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>TIFFReadScanline</title> |
|
8 |
</head> |
|
9 |
<body> |
|
10 |
||
11 |
<h1 align=center>TIFFReadScanline</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>TIFFReadScanline − read and decode a scanline of |
|
31 |
data from an open <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 TIFFReadScanline(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>Read the data for the specified row into the (user |
|
58 |
supplied) data buffer <i>buf</i>. The data are returned |
|
59 |
decompressed and, in the native byte- and bit-ordering, but |
|
60 |
are otherwise packed (see further below). The buffer must be |
|
61 |
large enough to hold an entire scanline of data. |
|
62 |
Applications should call the routine <i>TIFFScanlineSize</i> |
|
63 |
to find out the size (in bytes) of a scanline buffer. The |
|
64 |
<i>row</i> parameter is always used by |
|
65 |
<i>TIFFReadScanline</i>; the <i>sample</i> parameter is used |
|
66 |
only if data are organized in separate planes |
|
67 |
(<i>PlanarConfiguration</i>=2).</p> |
|
68 |
</td> |
|
69 |
</table> |
|
70 |
<a name="NOTES"></a> |
|
71 |
<h2>NOTES</h2> |
|
72 |
<!-- INDENTATION --> |
|
73 |
<table width="100%" border=0 rules="none" frame="void" |
|
74 |
cols="2" cellspacing="0" cellpadding="0"> |
|
75 |
<tr valign="top" align="left"> |
|
76 |
<td width="8%"></td> |
|
77 |
<td width="91%"> |
|
78 |
<p>The library attempts to hide bit- and byte-ordering |
|
79 |
differences between the image and the native machine by |
|
80 |
converting data to the native machine order. Bit reversal is |
|
81 |
done if the <i>FillOrder</i> tag is opposite to the native |
|
82 |
machine bit order. 16- and 32-bit samples are automatically |
|
83 |
byte-swapped if the file was written with a byte order |
|
84 |
opposite to the native machine byte order,</p> |
|
85 |
<!-- INDENTATION --> |
|
86 |
<p>In C++ the <i>sample</i> parameter defaults to 0.</p> |
|
87 |
</td> |
|
88 |
</table> |
|
89 |
<a name="RETURN VALUES"></a> |
|
90 |
<h2>RETURN VALUES</h2> |
|
91 |
<!-- INDENTATION --> |
|
92 |
<table width="100%" border=0 rules="none" frame="void" |
|
93 |
cols="2" cellspacing="0" cellpadding="0"> |
|
94 |
<tr valign="top" align="left"> |
|
95 |
<td width="8%"></td> |
|
96 |
<td width="91%"> |
|
97 |
<p><i>TIFFReadScanline</i> returns −1 if it detects an |
|
98 |
error; otherwise 1 is returned.</p> |
|
99 |
</td> |
|
100 |
</table> |
|
101 |
<a name="DIAGNOSTICS"></a> |
|
102 |
<h2>DIAGNOSTICS</h2> |
|
103 |
<!-- INDENTATION --> |
|
104 |
<table width="100%" border=0 rules="none" frame="void" |
|
105 |
cols="2" cellspacing="0" cellpadding="0"> |
|
106 |
<tr valign="top" align="left"> |
|
107 |
<td width="8%"></td> |
|
108 |
<td width="91%"> |
|
109 |
<p>All error messages are directed to the |
|
110 |
<i>TIFFError</i>(3TIFF) routine.</p> |
|
111 |
<!-- INDENTATION --> |
|
112 |
<p><b>Compression algorithm does not support random |
|
113 |
access</b>. Data was requested in a non-sequential order |
|
114 |
from a file that uses a compression algorithm and that has |
|
115 |
<i>RowsPerStrip</i> greater than one. That is, data in the |
|
116 |
image is stored in a compressed form, and with multiple rows |
|
117 |
packed into a strip. In this case, the library does not |
|
118 |
support random access to the data. The data should either be |
|
119 |
accessed sequentially, or the file should be converted so |
|
120 |
that each strip is made up of one row of data.</p> |
|
121 |
</td> |
|
122 |
</table> |
|
123 |
<a name="BUGS"></a> |
|
124 |
<h2>BUGS</h2> |
|
125 |
<!-- INDENTATION --> |
|
126 |
<table width="100%" border=0 rules="none" frame="void" |
|
127 |
cols="2" cellspacing="0" cellpadding="0"> |
|
128 |
<tr valign="top" align="left"> |
|
129 |
<td width="8%"></td> |
|
130 |
<td width="91%"> |
|
131 |
<p>Reading subsampled YCbCR data does not work correctly |
|
132 |
because, for <i>PlanarConfiguration</i>=2 the size of a |
|
133 |
scanline is not calculated on a per-sample basis, and for |
|
134 |
<i>PlanarConfiguration</i>=1 the library does not unpack the |
|
135 |
block-interleaved samples; use the strip- and tile-based |
|
136 |
interfaces to read these formats.</p> |
|
137 |
</td> |
|
138 |
</table> |
|
139 |
<a name="SEE ALSO"></a> |
|
140 |
<h2>SEE ALSO</h2> |
|
141 |
<!-- INDENTATION --> |
|
142 |
<table width="100%" border=0 rules="none" frame="void" |
|
143 |
cols="2" cellspacing="0" cellpadding="0"> |
|
144 |
<tr valign="top" align="left"> |
|
145 |
<td width="8%"></td> |
|
146 |
<td width="91%"> |
|
147 |
<p><b>TIFFOpen</b>(3TIFF), |
|
148 |
<b>TIFFReadEncodedStrip</b>(3TIFF), |
|
149 |
<b>TIFFReadRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p> |
|
150 |
<!-- INDENTATION --> |
|
151 |
<p>Libtiff library home page: |
|
152 |
<b>http://www.remotesensing.org/libtiff/</b></p> |
|
153 |
</td> |
|
154 |
</table> |
|
155 |
<hr> |
|
156 |
</body> |
|
157 |
</html> |