]> granicus.if.org Git - imagemagick/blob - www/api/constitute.html
(no commit message)
[imagemagick] / www / api / constitute.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" \r
2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">\r
4 <head>\r
5   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
6   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
7   <title>ImageMagick: MagickCore, C API for ImageMagick: Constitute an Image</title>
8   <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"/>
11   <meta name="Application-name" content="ImageMagick"/>
12   <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."/>
13   <meta name="Application-url" content="http://www.imagemagick.org"/>
14   <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"/>
16   <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"/>
22   <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
23   <meta name="Distribution" content="Global"/>
24   <link rel="icon" href="../../images/wand.png"/>
25   <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"/>\r
27   <style type="text/css" media="all">\r
28     @import url("../../www/magick.css");\r
29   </style>\r
30   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>\r
31   <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
32   <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
33   <script type="text/javascript">\r
34     $(document).ready(function() {\r
35       $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({\r
36         'transitionIn'  : 'elastic',\r
37         'transitionOut' : 'elastic',\r
38         'overlayShow'   : false,\r
39         'opacity'       : true\r
40       });\r
41     });\r
42   </script>\r
43 </head>\r
44 \r
45 <body id="www-imagemagick-org">\r
46 <div class="titlebar">\r
47 <a href="../../index.html">\r
48   <img src="../../images/script.png" alt="[ImageMagick]"\r
49   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
50 <a href="http://www.networkredux.com">\r
51   <img src="../../images/networkredux.png" alt="[sponsor]"\r
52   style="margin: 45px auto; border: 0px; float: left;" /></a>\r
53 <a href="http://www.imagemagick.org/discourse-server/">\r
54   <img src="../../images/logo.jpg" alt=""\r
55   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
56 <a href="../../index.html">\r
57   <img src="../../images/sprite.jpg" alt=""\r
58   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
59 </div>\r
60 \r
61 <div class="westbar">\r
62 \r
63 <div class="menu">
64   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
65 </div>
66 <div class="sep"></div>\r
67 <div class="menu">
68   <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>\r
80 <div class="menu">
81   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
82 </div>
83 <div class="sub">
84     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
85 </div>
86 <div class="sub">
87     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
88 </div>
89 <div class="sub">
90     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
91 </div>
92 <div class="menu">
93   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
94 </div>
95 <div class="sub">
96     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
97 </div>
98 <div class="sub">
99     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
100 </div>
101 <div class="sub">
102     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
103 </div>
104 <div class="sub">
105     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
106 </div>
107 <div class="sep"></div>\r
108 <div  class="menu">
109    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
110 </div>
111 <div class="sub">
112     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
113 </div>
114 <div class="sub">
115     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
116  </div>
117 <div class="menu">
118   <a title="Resources" href="../../www/resources.html">Resources</a>
119 </div>
120 <div class="menu">
121   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
122 </div>
123 <div class="menu">
124   <a title="Download" href="../../www/download.html">Download</a>
125 </div>
126 <div class="sep"></div>\r
127 <div class="menu">
128   <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
129 </div>
130 <div class="sep"></div>\r
131 <div class="menu">
132   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
133 </div>
134 <div  class="sub">
135   <a title="Site Map: Links" href="../../www/links.html">Links</a>
136 </div>
137 <div class="sep"></div>\r
138 <div  class="menu">
139   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
140
141 <div class="sponsbox">
142 <div  class="sponsor">
143    <a title="Sponsor: Notebook Reparatur Berlin" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur Berlin</a><!-- 2011040100025 gabi.schulze-->
144 </div>
145 <div  class="sponsor">
146   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
147 </div>
148 <div  class="sponsor">
149   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
150 </div>
151 <div  class="sponsor">
152   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
153 </div>
154 </div>
155 </div>
156 </div>\r
157 \r
158 <div class="eastbar">\r
159   <script type="text/javascript">\r
160   <!--\r
161     google_ad_client = "pub-3129977114552745";\r
162     google_ad_slot = "0574824969";\r
163     google_ad_width = 160;\r
164     google_ad_height = 600;\r
165   //-->\r
166   </script>\r
167   <script type="text/javascript"\r
168     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
169   </script>\r
170 </div>\r
171 \r
172 <div class="main">\r
173 \r
174 <h1>Module constitute
175  Methods</h1>
176 <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">
191   Image *ConstituteImage(const size_t columns,const size_t rows,
192     const char *map,const StorageType storage,const void *pixels,
193     ExceptionInfo *exception)
194 </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>
350 \r
351 </div>\r
352 \r
353 <div id="linkbar">\r
354     <span id="linkbar-west">&nbsp;</span>\r
355     <span id="linkbar-center">\r
356       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
357       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
358     </span>\r
359     <span id="linkbar-east">&nbsp;</span>\r
360   </div>\r
361   <div class="footer">\r
362     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
363     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
364   </div>\r
365   <div style="clear: both; margin: 0; width: 100%; "></div>\r
366   <script type="text/javascript">\r
367     var _gaq = _gaq || [];\r
368     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
369     _gaq.push(['_trackPageview']);\r
370 \r
371     (function() {\r
372       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
373       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
374       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
375     })();\r
376   </script>\r
377 </body>\r
378 </html>\r