blob: 6e2edb7d43cda9bcd06cb592d91f08e3e2bebed7 [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">
cristy851dbce2010-08-06 21:40:00 +0000127 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
128</div>
129<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000130 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy2c839602010-04-03 02:32:08 +0000131</div>
132<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000133 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristyfe776f92010-02-21 02:51:21 +0000134</div>
135<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000136 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
cristy5f2356f2009-11-16 00:40:46 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristy916e1922009-10-01 12:52:47 +0000140</div>
141<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000142 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
cristyfe7ce342010-06-22 15:41:50 +0000144<div class="sponsor">
cristya8902942010-07-30 00:49:52 +0000145 <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
cristyfe7ce342010-06-22 15:41:50 +0000146</div>
cristy3ed852e2009-09-05 21:47:34 +0000147</div>
148</div>
cristyce69bb02010-07-27 19:49:46 +0000149</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000150
cristyce69bb02010-07-27 19:49:46 +0000151<div class="eastbar">
152 <script type="text/javascript">
153 <!--
154 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000155 google_ad_slot = "0574824969";
156 google_ad_width = 160;
157 google_ad_height = 600;
158 //-->
159 </script>
160 <script type="text/javascript"
161 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
162 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000163</div>
164
165<div class="main">
166
cristy3ed852e2009-09-05 21:47:34 +0000167<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>
168
169<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
170_8c.html" target="source" name="ConstituteImage">ConstituteImage</a></h2>
171<div class="doc-section">
172
173<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>
174
175<pre class="text">
176 image = ConstituteImage(640,480,"RGB",CharPixel,pixels,&exception);
177</pre>
178
179<p>The format of the ConstituteImage method is:</p>
180
181<pre class="code">
cristyeaedf062010-05-29 22:36:02 +0000182 Image *ConstituteImage(const size_t columns,const size_t rows,
183 const char *map,const StorageType storage,const void *pixels,
184 ExceptionInfo *exception)
cristy3ed852e2009-09-05 21:47:34 +0000185</pre>
186
187<p>A description of each parameter follows:</p></ol>
188
189<h5>columns</h5>
190<ol><p>width in pixels of the image.</p></ol>
191
192<h5>rows</h5>
193<ol><p>height in pixels of the image.</p></ol>
194
195<h5>map</h5>
196<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>
197
198<h5>storage</h5>
199<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>
200
201<h5>pixels</h5>
202<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>
203
204<h5>exception</h5>
205<ol><p>return any errors or warnings in this structure.</p></ol>
206
207 </div>
208<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
209_8c.html" target="source" name="PingImage">PingImage</a></h2>
210<div class="doc-section">
211
212<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>
213
214<p>The format of the PingImage method is:</p>
215
216<pre class="code">
217 Image *PingImage(const ImageInfo *image_info,ExceptionInfo *exception)
218</pre>
219
220<p>A description of each parameter follows:</p></ol>
221
222<h5>image_info</h5>
223<ol><p>Ping the image defined by the file or filename members of this structure.</p></ol>
224
225<h5>exception</h5>
226<ol><p>return any errors or warnings in this structure.</p></ol>
227
228 </div>
229<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
230_8c.html" target="source" name="PingImages">PingImages</a></h2>
231<div class="doc-section">
232
233<p>PingImages() pings one or more images and returns them as an image list.</p></ol>
234
235<p>The format of the PingImage method is:</p>
236
237<pre class="code">
238 Image *PingImages(const ImageInfo *image_info,ExceptionInfo *exception)
239</pre>
240
241<p>A description of each parameter follows:</p></ol>
242
243<h5>image_info</h5>
244<ol><p>the image info.</p></ol>
245
246<h5>exception</h5>
247<ol><p>return any errors or warnings in this structure.</p></ol>
248
249 </div>
250<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
251_8c.html" target="source" name="ReadImage">ReadImage</a></h2>
252<div class="doc-section">
253
254<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>
255
256<p>The format of the ReadImage method is:</p>
257
258<pre class="code">
259 Image *ReadImage(const ImageInfo *image_info,ExceptionInfo *exception)
260</pre>
261
262<p>A description of each parameter follows:</p></ol>
263
264<h5>image_info</h5>
265<ol><p>Read the image defined by the file or filename members of this structure.</p></ol>
266
267<h5>exception</h5>
268<ol><p>return any errors or warnings in this structure.</p></ol>
269
270 </div>
271<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
272_8c.html" target="source" name="ReadImages">ReadImages</a></h2>
273<div class="doc-section">
274
275<p>ReadImages() reads one or more images and returns them as an image list.</p></ol>
276
277<p>The format of the ReadImage method is:</p>
278
279<pre class="code">
280 Image *ReadImages(const ImageInfo *image_info,ExceptionInfo *exception)
281</pre>
282
283<p>A description of each parameter follows:</p></ol>
284
285<h5>image_info</h5>
286<ol><p>the image info.</p></ol>
287
288<h5>exception</h5>
289<ol><p>return any errors or warnings in this structure.</p></ol>
290
291 </div>
292<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
293_8c.html" target="source" name="WriteImage">WriteImage</a></h2>
294<div class="doc-section">
295
296<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>
297
298<p>The format of the WriteImage method is:</p>
299
300<pre class="code">
301 MagickBooleanType WriteImage(const ImageInfo *image_info,Image *image)
302</pre>
303
304<p>A description of each parameter follows:</p></ol>
305
306<h5>image_info</h5>
307<ol><p>the image info.</p></ol>
308
309<h5>image</h5>
310<ol><p>the image.</p></ol>
311
312 </div>
313<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
314_8c.html" target="source" name="WriteImages">WriteImages</a></h2>
315<div class="doc-section">
316
317<p>WriteImages() writes an image sequence.</p></ol>
318
319<p>The format of the WriteImages method is:</p>
320
321<pre class="code">
322 MagickBooleanType WriteImages(const ImageInfo *image_info,Image *images,
323 const char *filename,ExceptionInfo *exception)
324</pre>
325
326<p>A description of each parameter follows:</p></ol>
327
328<h5>image_info</h5>
329<ol><p>the image info.</p></ol>
330
331<h5>images</h5>
332<ol><p>the image list.</p></ol>
333
334<h5>filename</h5>
335<ol><p>the image filename.</p></ol>
336
337<h5>exception</h5>
338<ol><p>return any errors or warnings in this structure.</p></ol>
339
340 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000341
342</div>
343
344<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000345 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000346 <span id="linkbar-center">
347 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000348 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000349 </span>
350 <span id="linkbar-east">&nbsp;</span>
351 </div>
352 <div class="footer">
353 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
354 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
355 </div>
356 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000357 <script type="text/javascript">
358 var _gaq = _gaq || [];
359 _gaq.push(['_setAccount', 'UA-17690367-1']);
360 _gaq.push(['_trackPageview']);
361
362 (function() {
363 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
364 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
365 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
366 })();
367 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000368</body>
369</html>