blob: 093190268a49f84ed954b6359283ea8c098a99ce [file] [log] [blame]
cristyf3bb4782009-09-08 13:10:04 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
5 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
6 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
7 <style type="text/css" media="screen,projection"><!--
8 @import url("../../www/magick.css");
9 --></style>
cristy3ed852e2009-09-05 21:47:34 +000010 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
11 <title>ImageMagick: MagickCore, C API for ImageMagick: Constitute an Image</title>
12 <meta http-equiv="Content-Language" content="en-US"/>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
15 <meta name="Generator" content="PHP"/>
16 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, constitute, an, image, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
17 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
18 <meta name="Rating" content="GENERAL"/>
19 <meta name="Robots" content="INDEX, FOLLOW"/>
20 <meta name="Generator" content="ImageMagick Studio LLC"/>
21 <meta name="Author" content="ImageMagick Studio LLC"/>
22 <meta name="Revisit-after" content="2 DAYS"/>
23 <meta name="Resource-type" content="document"/>
24 <meta name="Copyright" content="Copyright (c) 1999-2009 ImageMagick Studio LLC"/>
25 <meta name="Distribution" content="Global"/>
cristyf3bb4782009-09-08 13:10:04 +000026</head>
27
28<body id="www-imagemagick-org">
29<div class="titlebar">
30<a href="../../index.html">
31 <img src="../../images/script.png" alt="[ImageMagick]"
32 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
33<a href="http://www.networkredux.com">
34 <img src="../../images/networkredux.png" alt="[sponsor]"
35 style="margin: 45px auto; border: 0px; float: left;" /></a>
36<a href="http://www.imagemagick.org/discourse-server/">
37 <img src="../../images/logo.jpg" alt=""
38 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
39<a href="../../index.html">
40 <img src="../../images/sprite.jpg" alt=""
41 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
42</div>
43
44<div class="eastbar">
45
cristy3ed852e2009-09-05 21:47:34 +000046<div class="menu">
47 <a href="../../index.html">About ImageMagick</a>
48</div>
cristyf3bb4782009-09-08 13:10:04 +000049<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000050<div class="menu">
51 <a href="../../www/command-line-tools.html">Command-line Tools</a>
52</div>
53<div class="sub">
54 <a href="../../www/command-line-processing.html">Processing</a>
55</div>
56<div class="sub">
57 <a href="../../www/command-line-options.html">Options</a>
58</div>
59<div class="sub">
60 <a href="http://www.imagemagick.org/Usage/">Usage</a>
61</div>
62<div class="menu">
63 <a href="../../www/api.html">Program Interfaces</a>
64</div>
65<div class="sub">
66 <a href="../../www/magick-wand.html">MagickWand</a>
67</div>
68<div class="sub">
69 <a href="../../www/magick-core.html">MagickCore</a>
70</div>
71<div class="sub">
72 <a href="../../www/perl-magick.html">PerlMagick</a>
73</div>
74<div class="sub">
75 <a href="../../Magick++/">Magick++</a>
76</div>
77<div class="menu">
78 <a href="../../www/architecture.html">Architecture</a>
79</div>
cristyf3bb4782009-09-08 13:10:04 +000080<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000081<div class="menu">
82 <a href="../../www/install-source.html">Install from Source</a>
83</div>
84<div class="sub">
85 <a href="../../www/install-source.html#unix">Unix</a>
86</div>
87<div class="sub">
88 <a href="../../www/install-source.html#windows">Windows</a>
89 </div>
90<div class="menu">
91 <a href="../../www/binary-releases.html">Binary Releases</a>
92</div>
93<div class="sub">
94 <a href="../../www/binary-releases.html#unix">Unix</a>
95</div>
96<div class="sub">
97 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
98</div>
99<div class="sub">
100 <a href="../../www/binary-releases.html#windows">Windows</a>
101</div>
102<div class="menu">
103 <a href="../../www/resources.html">Resources</a>
104</div>
cristyf3bb4782009-09-08 13:10:04 +0000105<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000106<div class="menu">
107 <a href="../../www/download.html">Download</a>
108</div>
cristyf3bb4782009-09-08 13:10:04 +0000109<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000110<div class="menu">
111 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
112</div>
cristyf3bb4782009-09-08 13:10:04 +0000113<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000114<div class="menu">
115 <a href="../../www/sitemap.html">Site Map</a>
116</div>
117<div class="sub">
118 <a href="../../www/links.html">Links</a>
119</div>
cristyf3bb4782009-09-08 13:10:04 +0000120<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000121<div class="menu">
122 <a href="../../www/sponsors.html">Sponsors:</a>
123
124<div class="sponsbox">
125<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000126 <a href="http://www.goyax.de">Börse</a><!-- 201001000240 Gewiese digital-finance.de -->
127</div>
128<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000129 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
130</div>
131<div class="sponsor">
132 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 200911010120 -->
133</div>
134<div class="sponsor">
135 <a href="http://www.print24.de/">Druckerei</a><!-- 200911010480 -->
136</div>
137<div class="sponsor">
138 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
139</div>
140<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000141 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201002010120 Buchhorn -->
cristy3ed852e2009-09-05 21:47:34 +0000142</div>
143</div>
144</div>
cristyf3bb4782009-09-08 13:10:04 +0000145
146
147</div>
148
149<div class="main">
150
cristy3ed852e2009-09-05 21:47:34 +0000151<p class="navigation-index">[<a href="#ConstituteImage">ConstituteImage</a> &bull; <a href="#PingImage">PingImage</a> &bull; <a href="#PingImages">PingImages</a> &bull; <a href="#ReadImage">ReadImage</a> &bull; <a href="#ReadImages">ReadImages</a> &bull; <a href="#WriteImage">WriteImage</a> &bull; <a href="#WriteImages">WriteImages</a>]</p>
152
153<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
154_8c.html" target="source" name="ConstituteImage">ConstituteImage</a></h2>
155<div class="doc-section">
156
157<p>ConstituteImage() returns an image from the pixel data you supply. The pixel data must be in scanline order top-to-bottom. The data can be char, short int, int, float, or double. Float and double require the pixels to be normalized [0..1], otherwise [0..QuantumRange]. For example, to create a 640x480 image from unsigned red-green-blue character data, use:</p>
158
159<pre class="text">
160 image = ConstituteImage(640,480,"RGB",CharPixel,pixels,&exception);
161</pre>
162
163<p>The format of the ConstituteImage method is:</p>
164
165<pre class="code">
166 Image *ConstituteImage(const unsigned long columns,
167 const unsigned long rows,const char *map,const StorageType storage,
168 const void *pixels,ExceptionInfo *exception)
169</pre>
170
171<p>A description of each parameter follows:</p></ol>
172
173<h5>columns</h5>
174<ol><p>width in pixels of the image.</p></ol>
175
176<h5>rows</h5>
177<ol><p>height in pixels of the image.</p></ol>
178
179<h5>map</h5>
180<ol><p>This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.</p></ol>
181
182<h5>storage</h5>
183<ol><p>Define the data type of the pixels. Float and double types are expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from these types: CharPixel, DoublePixel, FloatPixel, IntegerPixel, LongPixel, QuantumPixel, or ShortPixel.</p></ol>
184
185<h5>pixels</h5>
186<ol><p>This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.</p></ol>
187
188<h5>exception</h5>
189<ol><p>return any errors or warnings in this structure.</p></ol>
190
191 </div>
192<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
193_8c.html" target="source" name="PingImage">PingImage</a></h2>
194<div class="doc-section">
195
196<p>PingImage() returns all the properties of an image or image sequence except for the pixels. It is much faster and consumes far less memory than ReadImage(). On failure, a NULL image is returned and exception describes the reason for the failure.</p></ol>
197
198<p>The format of the PingImage method is:</p>
199
200<pre class="code">
201 Image *PingImage(const ImageInfo *image_info,ExceptionInfo *exception)
202</pre>
203
204<p>A description of each parameter follows:</p></ol>
205
206<h5>image_info</h5>
207<ol><p>Ping the image defined by the file or filename members of this structure.</p></ol>
208
209<h5>exception</h5>
210<ol><p>return any errors or warnings in this structure.</p></ol>
211
212 </div>
213<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
214_8c.html" target="source" name="PingImages">PingImages</a></h2>
215<div class="doc-section">
216
217<p>PingImages() pings one or more images and returns them as an image list.</p></ol>
218
219<p>The format of the PingImage method is:</p>
220
221<pre class="code">
222 Image *PingImages(const ImageInfo *image_info,ExceptionInfo *exception)
223</pre>
224
225<p>A description of each parameter follows:</p></ol>
226
227<h5>image_info</h5>
228<ol><p>the image info.</p></ol>
229
230<h5>exception</h5>
231<ol><p>return any errors or warnings in this structure.</p></ol>
232
233 </div>
234<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
235_8c.html" target="source" name="ReadImage">ReadImage</a></h2>
236<div class="doc-section">
237
238<p>ReadImage() reads an image or image sequence from a file or file handle. The method returns a NULL if there is a memory shortage or if the image cannot be read. On failure, a NULL image is returned and exception describes the reason for the failure.</p></ol>
239
240<p>The format of the ReadImage method is:</p>
241
242<pre class="code">
243 Image *ReadImage(const ImageInfo *image_info,ExceptionInfo *exception)
244</pre>
245
246<p>A description of each parameter follows:</p></ol>
247
248<h5>image_info</h5>
249<ol><p>Read the image defined by the file or filename members of this structure.</p></ol>
250
251<h5>exception</h5>
252<ol><p>return any errors or warnings in this structure.</p></ol>
253
254 </div>
255<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
256_8c.html" target="source" name="ReadImages">ReadImages</a></h2>
257<div class="doc-section">
258
259<p>ReadImages() reads one or more images and returns them as an image list.</p></ol>
260
261<p>The format of the ReadImage method is:</p>
262
263<pre class="code">
264 Image *ReadImages(const ImageInfo *image_info,ExceptionInfo *exception)
265</pre>
266
267<p>A description of each parameter follows:</p></ol>
268
269<h5>image_info</h5>
270<ol><p>the image info.</p></ol>
271
272<h5>exception</h5>
273<ol><p>return any errors or warnings in this structure.</p></ol>
274
275 </div>
276<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
277_8c.html" target="source" name="WriteImage">WriteImage</a></h2>
278<div class="doc-section">
279
280<p>WriteImage() writes an image or an image sequence to a file or filehandle. If writing to a file on disk, the name is defined by the filename member of the image structure. Write() returns MagickFalse is these is a memory shortage or if the image cannot be written. Check the exception member of image to determine the cause for any failure.</p></ol>
281
282<p>The format of the WriteImage method is:</p>
283
284<pre class="code">
285 MagickBooleanType WriteImage(const ImageInfo *image_info,Image *image)
286</pre>
287
288<p>A description of each parameter follows:</p></ol>
289
290<h5>image_info</h5>
291<ol><p>the image info.</p></ol>
292
293<h5>image</h5>
294<ol><p>the image.</p></ol>
295
296 </div>
297<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
298_8c.html" target="source" name="WriteImages">WriteImages</a></h2>
299<div class="doc-section">
300
301<p>WriteImages() writes an image sequence.</p></ol>
302
303<p>The format of the WriteImages method is:</p>
304
305<pre class="code">
306 MagickBooleanType WriteImages(const ImageInfo *image_info,Image *images,
307 const char *filename,ExceptionInfo *exception)
308</pre>
309
310<p>A description of each parameter follows:</p></ol>
311
312<h5>image_info</h5>
313<ol><p>the image info.</p></ol>
314
315<h5>images</h5>
316<ol><p>the image list.</p></ol>
317
318<h5>filename</h5>
319<ol><p>the image filename.</p></ol>
320
321<h5>exception</h5>
322<ol><p>return any errors or warnings in this structure.</p></ol>
323
324 </div>
cristyf3bb4782009-09-08 13:10:04 +0000325
326</div>
327
328<div id="linkbar">
329 <!-- <span id="linkbar-west">&nbsp;</span> -->
330 <span id="linkbar-center">
331 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
332 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
333 <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
334 </span>
335 <span id="linkbar-east">&nbsp;</span>
336 </div>
337 <div class="footer">
338 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
339 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
340 </div>
341 <div style="clear: both; margin: 0; width: 100%; "></div>
342</body>
343</html>