blob: 4f26a450e4de69180550a075697b548d5e0b4fa9 [file] [log] [blame]
cristy3eaa0ef2010-03-06 20:35:26 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
cristy2c839602010-04-03 02:32:08 +00003<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3de29cc2010-04-15 02:34:44 +00005 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
cristy3eaa0ef2010-03-06 20:35:26 +00006 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
cristy3de29cc2010-04-15 02:34:44 +00008 <style type="text/css" media="all">
cristy3eaa0ef2010-03-06 20:35:26 +00009 @import url("../../www/magick.css");
cristy3de29cc2010-04-15 02:34:44 +000010 </style>
cristy3ed852e2009-09-05 21:47:34 +000011 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Constitute an Image</title>
13 <meta http-equiv="Content-Language" content="en-US"/>
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16 <meta name="Generator" content="PHP"/>
17 <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"/>
18 <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."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
cristy16af1cb2009-12-11 21:38:29 +000025 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000026 <meta name="Distribution" content="Global"/>
cristy3eaa0ef2010-03-06 20:35:26 +000027</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
cristyce69bb02010-07-27 19:49:46 +000045<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000046
cristy3ed852e2009-09-05 21:47:34 +000047<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000048 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000049</div>
cristy3eaa0ef2010-03-06 20:35:26 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
cristybb503372010-05-27 20:51:26 +000052 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
53</div>
54<div class="sub">
55 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
62</div>
63<div class="sep"></div>
64<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000065 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000066</div>
67<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000068 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +000069</div>
70<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000071 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000072</div>
73<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000074 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000075</div>
76<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000077 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000078</div>
79<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000080 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +000081</div>
82<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000083 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +000084</div>
85<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000086 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000087</div>
88<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000089 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +000090</div>
cristy3eaa0ef2010-03-06 20:35:26 +000091<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000092<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +000094</div>
95<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000100 </div>
101<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000103</div>
cristybb503372010-05-27 20:51:26 +0000104<div class="menu">
105 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
106</div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000108 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000109</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000112 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000113</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000116 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000117</div>
118<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Site Map: Links"href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000120</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000123 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000124
125<div class="sponsbox">
126<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000127 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy2c839602010-04-03 02:32:08 +0000128</div>
129<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000130 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristyfe776f92010-02-21 02:51:21 +0000131</div>
132<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000133 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
cristy5f2356f2009-11-16 00:40:46 +0000134</div>
135<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000136 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristy916e1922009-10-01 12:52:47 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000140</div>
cristyfe7ce342010-06-22 15:41:50 +0000141<div class="sponsor">
cristya8902942010-07-30 00:49:52 +0000142 <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
cristyfe7ce342010-06-22 15:41:50 +0000143</div>
cristy3ed852e2009-09-05 21:47:34 +0000144</div>
145</div>
cristyce69bb02010-07-27 19:49:46 +0000146</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000147
cristyce69bb02010-07-27 19:49:46 +0000148<div class="eastbar">
149 <script type="text/javascript">
150 <!--
151 google_ad_client = "pub-3129977114552745";
152 /* 160x600, created 7/27/10 */
153 google_ad_slot = "0574824969";
154 google_ad_width = 160;
155 google_ad_height = 600;
156 //-->
157 </script>
158 <script type="text/javascript"
159 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
160 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000161</div>
162
163<div class="main">
164
cristy3ed852e2009-09-05 21:47:34 +0000165<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>
166
167<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
168_8c.html" target="source" name="ConstituteImage">ConstituteImage</a></h2>
169<div class="doc-section">
170
171<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>
172
173<pre class="text">
174 image = ConstituteImage(640,480,"RGB",CharPixel,pixels,&exception);
175</pre>
176
177<p>The format of the ConstituteImage method is:</p>
178
179<pre class="code">
cristyeaedf062010-05-29 22:36:02 +0000180 Image *ConstituteImage(const size_t columns,const size_t rows,
181 const char *map,const StorageType storage,const void *pixels,
182 ExceptionInfo *exception)
cristy3ed852e2009-09-05 21:47:34 +0000183</pre>
184
185<p>A description of each parameter follows:</p></ol>
186
187<h5>columns</h5>
188<ol><p>width in pixels of the image.</p></ol>
189
190<h5>rows</h5>
191<ol><p>height in pixels of the image.</p></ol>
192
193<h5>map</h5>
194<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>
195
196<h5>storage</h5>
197<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>
198
199<h5>pixels</h5>
200<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>
201
202<h5>exception</h5>
203<ol><p>return any errors or warnings in this structure.</p></ol>
204
205 </div>
206<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
207_8c.html" target="source" name="PingImage">PingImage</a></h2>
208<div class="doc-section">
209
210<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>
211
212<p>The format of the PingImage method is:</p>
213
214<pre class="code">
215 Image *PingImage(const ImageInfo *image_info,ExceptionInfo *exception)
216</pre>
217
218<p>A description of each parameter follows:</p></ol>
219
220<h5>image_info</h5>
221<ol><p>Ping the image defined by the file or filename members of this structure.</p></ol>
222
223<h5>exception</h5>
224<ol><p>return any errors or warnings in this structure.</p></ol>
225
226 </div>
227<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
228_8c.html" target="source" name="PingImages">PingImages</a></h2>
229<div class="doc-section">
230
231<p>PingImages() pings one or more images and returns them as an image list.</p></ol>
232
233<p>The format of the PingImage method is:</p>
234
235<pre class="code">
236 Image *PingImages(const ImageInfo *image_info,ExceptionInfo *exception)
237</pre>
238
239<p>A description of each parameter follows:</p></ol>
240
241<h5>image_info</h5>
242<ol><p>the image info.</p></ol>
243
244<h5>exception</h5>
245<ol><p>return any errors or warnings in this structure.</p></ol>
246
247 </div>
248<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
249_8c.html" target="source" name="ReadImage">ReadImage</a></h2>
250<div class="doc-section">
251
252<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>
253
254<p>The format of the ReadImage method is:</p>
255
256<pre class="code">
257 Image *ReadImage(const ImageInfo *image_info,ExceptionInfo *exception)
258</pre>
259
260<p>A description of each parameter follows:</p></ol>
261
262<h5>image_info</h5>
263<ol><p>Read the image defined by the file or filename members of this structure.</p></ol>
264
265<h5>exception</h5>
266<ol><p>return any errors or warnings in this structure.</p></ol>
267
268 </div>
269<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
270_8c.html" target="source" name="ReadImages">ReadImages</a></h2>
271<div class="doc-section">
272
273<p>ReadImages() reads one or more images and returns them as an image list.</p></ol>
274
275<p>The format of the ReadImage method is:</p>
276
277<pre class="code">
278 Image *ReadImages(const ImageInfo *image_info,ExceptionInfo *exception)
279</pre>
280
281<p>A description of each parameter follows:</p></ol>
282
283<h5>image_info</h5>
284<ol><p>the image info.</p></ol>
285
286<h5>exception</h5>
287<ol><p>return any errors or warnings in this structure.</p></ol>
288
289 </div>
290<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
291_8c.html" target="source" name="WriteImage">WriteImage</a></h2>
292<div class="doc-section">
293
294<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>
295
296<p>The format of the WriteImage method is:</p>
297
298<pre class="code">
299 MagickBooleanType WriteImage(const ImageInfo *image_info,Image *image)
300</pre>
301
302<p>A description of each parameter follows:</p></ol>
303
304<h5>image_info</h5>
305<ol><p>the image info.</p></ol>
306
307<h5>image</h5>
308<ol><p>the image.</p></ol>
309
310 </div>
311<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
312_8c.html" target="source" name="WriteImages">WriteImages</a></h2>
313<div class="doc-section">
314
315<p>WriteImages() writes an image sequence.</p></ol>
316
317<p>The format of the WriteImages method is:</p>
318
319<pre class="code">
320 MagickBooleanType WriteImages(const ImageInfo *image_info,Image *images,
321 const char *filename,ExceptionInfo *exception)
322</pre>
323
324<p>A description of each parameter follows:</p></ol>
325
326<h5>image_info</h5>
327<ol><p>the image info.</p></ol>
328
329<h5>images</h5>
330<ol><p>the image list.</p></ol>
331
332<h5>filename</h5>
333<ol><p>the image filename.</p></ol>
334
335<h5>exception</h5>
336<ol><p>return any errors or warnings in this structure.</p></ol>
337
338 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000339
340</div>
341
342<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000343 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000344 <span id="linkbar-center">
345 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000346 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000347 </span>
348 <span id="linkbar-east">&nbsp;</span>
349 </div>
350 <div class="footer">
351 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
352 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
353 </div>
354 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000355 <script type="text/javascript">
356 var _gaq = _gaq || [];
357 _gaq.push(['_setAccount', 'UA-17690367-1']);
358 _gaq.push(['_trackPageview']);
359
360 (function() {
361 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
362 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
363 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
364 })();
365 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000366</body>
367</html>