blob: ff0f49e9aea337ac92c3364e8ef83ffcb38e02d3 [file] [log] [blame]
cristydcca3fa2010-12-29 21:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3c98a4f2010-08-13 20:09:41 +00005 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +00007 <title>ImageMagick: MagickCore, C API for ImageMagick: Constitute an Image</title>
cristy3ed852e2009-09-05 21:47:34 +00008 <meta http-equiv="Content-Language" content="en-US"/>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
cristy3c98a4f2010-08-13 20:09:41 +000011 <meta name="Application-name" content="ImageMagick"/>
cristydcca3fa2010-12-29 21:50:07 +000012 <meta name="Description" content="ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images."/>
cristy3c98a4f2010-08-13 20:09:41 +000013 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy3ed852e2009-09-05 21:47:34 +000014 <meta name="Generator" content="PHP"/>
15 <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"/>
cristy3ed852e2009-09-05 21:47:34 +000016 <meta name="Rating" content="GENERAL"/>
17 <meta name="Robots" content="INDEX, FOLLOW"/>
18 <meta name="Generator" content="ImageMagick Studio LLC"/>
19 <meta name="Author" content="ImageMagick Studio LLC"/>
20 <meta name="Revisit-after" content="2 DAYS"/>
21 <meta name="Resource-type" content="document"/>
cristy4103d562010-12-10 01:38:54 +000022 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000023 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000024 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000025 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
26 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
27 <style type="text/css" media="all">
28 @import url("../../www/magick.css");
29 </style>
cristydcca3fa2010-12-29 21:50:07 +000030 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
31 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
32 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
33 <script type="text/javascript">
34 $(document).ready(function() {
35 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
36 'transitionIn' : 'elastic',
37 'transitionOut' : 'elastic',
38 'overlayShow' : false,
39 'opacity' : true
40 });
41 });
42 </script>
cristy3eaa0ef2010-03-06 20:35:26 +000043</head>
44
45<body id="www-imagemagick-org">
46<div class="titlebar">
47<a href="../../index.html">
48 <img src="../../images/script.png" alt="[ImageMagick]"
49 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
50<a href="http://www.networkredux.com">
51 <img src="../../images/networkredux.png" alt="[sponsor]"
52 style="margin: 45px auto; border: 0px; float: left;" /></a>
53<a href="http://www.imagemagick.org/discourse-server/">
54 <img src="../../images/logo.jpg" alt=""
55 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
56<a href="../../index.html">
57 <img src="../../images/sprite.jpg" alt=""
58 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
59</div>
60
cristyce69bb02010-07-27 19:49:46 +000061<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000062
cristy3ed852e2009-09-05 21:47:34 +000063<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000064 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000065</div>
cristy3eaa0ef2010-03-06 20:35:26 +000066<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000067<div class="menu">
cristybb503372010-05-27 20:51:26 +000068 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
69</div>
70<div class="sub">
71 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
72</div>
73<div class="sub">
74 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
75</div>
76<div class="sub">
77 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
78</div>
79<div class="sep"></div>
80<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000081 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000082</div>
83<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000084 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +000085</div>
86<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000087 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000088</div>
89<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000090 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000091</div>
92<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000094</div>
95<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +0000100</div>
101<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +0000103</div>
104<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000105 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +0000106</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000107<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000108<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000109 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +0000110</div>
111<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000112 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +0000113</div>
114<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000115 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000116 </div>
117<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000118 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000119</div>
cristybb503372010-05-27 20:51:26 +0000120<div class="menu">
121 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
122</div>
cristy3ed852e2009-09-05 21:47:34 +0000123<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000124 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000125</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000126<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000127<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000128 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000129</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000130<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000131<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000132 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000133</div>
134<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000135 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000136</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000137<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000138<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000140
141<div class="sponsbox">
142<div class="sponsor">
cristydcca3fa2010-12-29 21:50:07 +0000143 <a title="Sponsor: Fernsehdienst Berlin" href="http://www.atlas-multimedia.de">Fernsehdienst Berlin</a><!-- 2011040100025 atlas.multimedia-->
cristy5c4585b2010-11-11 00:13:57 +0000144</div>
145<div class="sponsor">
cristy7d52cd62010-10-01 17:26:59 +0000146 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
cristy73fd1cd2010-09-12 19:14:25 +0000147</div>
148<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000149 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
150</div>
151<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000152 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
153</div>
cristy3ed852e2009-09-05 21:47:34 +0000154</div>
155</div>
cristyce69bb02010-07-27 19:49:46 +0000156</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000157
cristyce69bb02010-07-27 19:49:46 +0000158<div class="eastbar">
159 <script type="text/javascript">
160 <!--
161 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000162 google_ad_slot = "0574824969";
163 google_ad_width = 160;
164 google_ad_height = 600;
165 //-->
166 </script>
167 <script type="text/javascript"
168 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
169 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000170</div>
171
172<div class="main">
173
cristy307ba182010-12-25 01:00:34 +0000174<h1>Module constitute
175 Methods</h1>
cristy3ed852e2009-09-05 21:47:34 +0000176<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>
177
178<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
179_8c.html" target="source" name="ConstituteImage">ConstituteImage</a></h2>
180<div class="doc-section">
181
182<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>
183
184<pre class="text">
185 image = ConstituteImage(640,480,"RGB",CharPixel,pixels,&exception);
186</pre>
187
188<p>The format of the ConstituteImage method is:</p>
189
190<pre class="code">
cristyeaedf062010-05-29 22:36:02 +0000191 Image *ConstituteImage(const size_t columns,const size_t rows,
192 const char *map,const StorageType storage,const void *pixels,
193 ExceptionInfo *exception)
cristy3ed852e2009-09-05 21:47:34 +0000194</pre>
195
196<p>A description of each parameter follows:</p></ol>
197
198<h5>columns</h5>
199<ol><p>width in pixels of the image.</p></ol>
200
201<h5>rows</h5>
202<ol><p>height in pixels of the image.</p></ol>
203
204<h5>map</h5>
205<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>
206
207<h5>storage</h5>
208<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>
209
210<h5>pixels</h5>
211<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>
212
213<h5>exception</h5>
214<ol><p>return any errors or warnings in this structure.</p></ol>
215
216 </div>
217<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
218_8c.html" target="source" name="PingImage">PingImage</a></h2>
219<div class="doc-section">
220
221<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>
222
223<p>The format of the PingImage method is:</p>
224
225<pre class="code">
226 Image *PingImage(const ImageInfo *image_info,ExceptionInfo *exception)
227</pre>
228
229<p>A description of each parameter follows:</p></ol>
230
231<h5>image_info</h5>
232<ol><p>Ping the image defined by the file or filename members of this structure.</p></ol>
233
234<h5>exception</h5>
235<ol><p>return any errors or warnings in this structure.</p></ol>
236
237 </div>
238<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
239_8c.html" target="source" name="PingImages">PingImages</a></h2>
240<div class="doc-section">
241
242<p>PingImages() pings one or more images and returns them as an image list.</p></ol>
243
244<p>The format of the PingImage method is:</p>
245
246<pre class="code">
247 Image *PingImages(const ImageInfo *image_info,ExceptionInfo *exception)
248</pre>
249
250<p>A description of each parameter follows:</p></ol>
251
252<h5>image_info</h5>
253<ol><p>the image info.</p></ol>
254
255<h5>exception</h5>
256<ol><p>return any errors or warnings in this structure.</p></ol>
257
258 </div>
259<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
260_8c.html" target="source" name="ReadImage">ReadImage</a></h2>
261<div class="doc-section">
262
263<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>
264
265<p>The format of the ReadImage method is:</p>
266
267<pre class="code">
268 Image *ReadImage(const ImageInfo *image_info,ExceptionInfo *exception)
269</pre>
270
271<p>A description of each parameter follows:</p></ol>
272
273<h5>image_info</h5>
274<ol><p>Read the image defined by the file or filename members of this structure.</p></ol>
275
276<h5>exception</h5>
277<ol><p>return any errors or warnings in this structure.</p></ol>
278
279 </div>
280<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
281_8c.html" target="source" name="ReadImages">ReadImages</a></h2>
282<div class="doc-section">
283
284<p>ReadImages() reads one or more images and returns them as an image list.</p></ol>
285
286<p>The format of the ReadImage method is:</p>
287
288<pre class="code">
289 Image *ReadImages(const ImageInfo *image_info,ExceptionInfo *exception)
290</pre>
291
292<p>A description of each parameter follows:</p></ol>
293
294<h5>image_info</h5>
295<ol><p>the image info.</p></ol>
296
297<h5>exception</h5>
298<ol><p>return any errors or warnings in this structure.</p></ol>
299
300 </div>
301<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
302_8c.html" target="source" name="WriteImage">WriteImage</a></h2>
303<div class="doc-section">
304
305<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>
306
307<p>The format of the WriteImage method is:</p>
308
309<pre class="code">
310 MagickBooleanType WriteImage(const ImageInfo *image_info,Image *image)
311</pre>
312
313<p>A description of each parameter follows:</p></ol>
314
315<h5>image_info</h5>
316<ol><p>the image info.</p></ol>
317
318<h5>image</h5>
319<ol><p>the image.</p></ol>
320
321 </div>
322<h2><a href="http://www.imagemagick.org/api/MagickCore/constitute
323_8c.html" target="source" name="WriteImages">WriteImages</a></h2>
324<div class="doc-section">
325
326<p>WriteImages() writes an image sequence.</p></ol>
327
328<p>The format of the WriteImages method is:</p>
329
330<pre class="code">
331 MagickBooleanType WriteImages(const ImageInfo *image_info,Image *images,
332 const char *filename,ExceptionInfo *exception)
333</pre>
334
335<p>A description of each parameter follows:</p></ol>
336
337<h5>image_info</h5>
338<ol><p>the image info.</p></ol>
339
340<h5>images</h5>
341<ol><p>the image list.</p></ol>
342
343<h5>filename</h5>
344<ol><p>the image filename.</p></ol>
345
346<h5>exception</h5>
347<ol><p>return any errors or warnings in this structure.</p></ol>
348
349 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000350
351</div>
352
353<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000354 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000355 <span id="linkbar-center">
356 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000357 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000358 </span>
359 <span id="linkbar-east">&nbsp;</span>
360 </div>
361 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000362 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000363 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
364 </div>
365 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000366 <script type="text/javascript">
367 var _gaq = _gaq || [];
368 _gaq.push(['_setAccount', 'UA-17690367-1']);
369 _gaq.push(['_trackPageview']);
370
371 (function() {
372 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
373 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
374 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
375 })();
376 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000377</body>
378</html>