1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncimageio.cpp:153 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>QImageDecoder Class</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">Home</font></a>
| <a href="classes.html">
<font color="#004faf">All Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped Classes</font></a>
| <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageDecoder Class Reference</h1>
<p>The QImageDecoder class is an incremental image decoder for all supported image formats.
<a href="#details">More...</a>
<p><tt>#include <<a href="qasyncimageio-h.html">qasyncimageio.h</a>></tt>
<p><a href="qimagedecoder-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li class=fn><a href="#QImageDecoder"><b>QImageDecoder</b></a> ( QImageConsumer * c )</li>
<li class=fn><a href="#~QImageDecoder"><b>~QImageDecoder</b></a> ()</li>
<li class=fn>const QImage & <a href="#image"><b>image</b></a> ()</li>
<li class=fn>int <a href="#decode"><b>decode</b></a> ( const uchar * buffer, int length )</li>
</ul>
<h2>Static Public Members</h2>
<ul>
<li class=fn>const char * <a href="#formatName"><b>formatName</b></a> ( const uchar * buffer, int length )</li>
<li class=fn>QImageFormatType * <a href="#format"><b>format</b></a> ( const char * name )</li>
<li class=fn>QStrList <a href="#inputFormats"><b>inputFormats</b></a> ()</li>
<li class=fn>void <a href="#registerDecoderFactory"><b>registerDecoderFactory</b></a> ( QImageFormatType * f )</li>
<li class=fn>void <a href="#unregisterDecoderFactory"><b>unregisterDecoderFactory</b></a> ( QImageFormatType * f )</li>
</ul>
<hr><a name="details"></a><h2>Detailed Description</h2>
The QImageDecoder class is an incremental image decoder for all supported image formats.
<p>
<p> New formats are installed by creating objects of class
<a href="qimageformattype.html">QImageFormatType</a>; the <a href="qmovie.html">QMovie</a> class can be used for all installed
incremental image formats. QImageDecoder is only useful for
creating new ways of feeding data to an <a href="qimageconsumer.html">QImageConsumer</a>.
<p> A QImageDecoder is a machine that decodes images. It takes encoded
image data via its <a href="#decode">decode</a>() method and expresses its decoding by
supplying information to a QImageConsumer. It implements its
decoding by using a <a href="qimageformat.html">QImageFormat</a> created by one of the
currently-existing QImageFormatType factory objects.
<p> QImageFormatType and QImageFormat are the classes that you might
need to implement support for additional image formats.
<p>
<p> Qt supports GIF reading if it is configured that way during
installation (see qgif.h). If it is, we are required to state that
"The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated."
<p> <b>Warning:</b> If you are in a country that recognizes software patents
and in which Unisys holds a patent on LZW compression and/or
decompression and you want to use GIF, Unisys may require you to
license that technology. Such countries include Canada, Japan,
the USA, France, Germany, Italy and the UK.
<p> GIF support may be removed completely in a future version of Qt.
We recommend using the MNG or PNG format.
<p>See also <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="multimedia.html">Multimedia Classes</a>.
<hr><h2>Member Function Documentation</h2>
<h3 class=fn><a name="QImageDecoder"></a>QImageDecoder::QImageDecoder ( <a href="qimageconsumer.html">QImageConsumer</a> * c )
</h3>
Constructs a QImageDecoder that will send change information to
the <a href="qimageconsumer.html">QImageConsumer</a> <em>c</em>.
<h3 class=fn><a name="~QImageDecoder"></a>QImageDecoder::~QImageDecoder ()
</h3>
Destroys a QImageDecoder. The image it built is destroyed. The
decoder built by the factory for the file format is destroyed. The
consumer for which it decoded the image is <em>not</em> destroyed.
<h3 class=fn>int <a name="decode"></a>QImageDecoder::decode ( const uchar * buffer, int length )
</h3>
Call this function to decode some data into image changes. The
data in <em>buffer</em> will be decoded, sending change information to
the <a href="qimageconsumer.html">QImageConsumer</a> of this QImageDecoder until one of the change
functions of the consumer returns FALSE. The length of the data is
given in <em>length</em>.
<p> Returns the number of bytes consumed: 0 if consumption is
complete, and -1 if decoding fails due to invalid data.
<h3 class=fn><a href="qimageformattype.html">QImageFormatType</a> * <a name="format"></a>QImageDecoder::format ( const char * name )<tt> [static]</tt>
</h3>
Returns a <a href="qimageformattype.html">QImageFormatType</a> by name. This might be used when the
user needs to force data to be interpreted as being in a certain
format. <em>name</em> is one of the formats listed by
<a href="#inputFormats">QImageDecoder::inputFormats</a>(). Note that you will still need to
supply decodable data to result->decoderFor() before you can begin
decoding the data.
<h3 class=fn>const char * <a name="formatName"></a>QImageDecoder::formatName ( const uchar * buffer, int length )<tt> [static]</tt>
</h3>
Call this function to find the name of the format of the given
header. The returned string is statically allocated. The function
will look at the first <em>length</em> characters in the <em>buffer</em>.
<p> Returns 0 if the format is not recognized.
<h3 class=fn>const <a href="qimage.html">QImage</a> & <a name="image"></a>QImageDecoder::image ()
</h3>
<p> Returns the image currently being decoded.
<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="inputFormats"></a>QImageDecoder::inputFormats ()<tt> [static]</tt>
</h3>
Returns a sorted list of formats for which asynchronous loading is
supported.
<h3 class=fn>void <a name="registerDecoderFactory"></a>QImageDecoder::registerDecoderFactory ( <a href="qimageformattype.html">QImageFormatType</a> * f )<tt> [static]</tt>
</h3>
Registers the new <a href="qimageformattype.html">QImageFormatType</a> <em>f</em>. This is not needed in
application code because factories call this themselves.
<h3 class=fn>void <a name="unregisterDecoderFactory"></a>QImageDecoder::unregisterDecoderFactory ( <a href="qimageformattype.html">QImageFormatType</a> * f )<tt> [static]</tt>
</h3>
Unregisters the <a href="qimageformattype.html">QImageFormatType</a> <em>f</em>. This is not needed in
application code because factories call this themselves.
<!-- eof -->
<hr><p>
This file is part of the <a href="index.html">Qt toolkit</a>.
Copyright © 1995-2007
<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>
|