blob: 55b692ce5cc1e5d8d192a7819d1fc35d4f72dcf5 [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>
cristy1f9e1ed2009-11-18 04:09:38 +00005 <meta http-equiv="Content-Type" value="application/xhtml+xml" />
cristyf3bb4782009-09-08 13:10:04 +00006 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
8 <style type="text/css" media="screen,projection"><!--
9 @import url("../../www/magick.css");
10 --></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: Loadable Modules</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:, loadable, modules, 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"/>
cristyf3bb4782009-09-08 13:10:04 +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
45<div class="eastbar">
46
cristy3ed852e2009-09-05 21:47:34 +000047<div class="menu">
48 <a href="../../index.html">About ImageMagick</a>
49</div>
cristyf3bb4782009-09-08 13:10:04 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
52 <a href="../../www/command-line-tools.html">Command-line Tools</a>
53</div>
54<div class="sub">
55 <a href="../../www/command-line-processing.html">Processing</a>
56</div>
57<div class="sub">
58 <a href="../../www/command-line-options.html">Options</a>
59</div>
60<div class="sub">
61 <a href="http://www.imagemagick.org/Usage/">Usage</a>
62</div>
63<div class="menu">
64 <a href="../../www/api.html">Program Interfaces</a>
65</div>
66<div class="sub">
67 <a href="../../www/magick-wand.html">MagickWand</a>
68</div>
69<div class="sub">
70 <a href="../../www/magick-core.html">MagickCore</a>
71</div>
72<div class="sub">
73 <a href="../../www/perl-magick.html">PerlMagick</a>
74</div>
75<div class="sub">
76 <a href="../../Magick++/">Magick++</a>
77</div>
78<div class="menu">
79 <a href="../../www/architecture.html">Architecture</a>
80</div>
cristyf3bb4782009-09-08 13:10:04 +000081<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000082<div class="menu">
83 <a href="../../www/install-source.html">Install from Source</a>
84</div>
85<div class="sub">
86 <a href="../../www/install-source.html#unix">Unix</a>
87</div>
88<div class="sub">
89 <a href="../../www/install-source.html#windows">Windows</a>
90 </div>
91<div class="menu">
92 <a href="../../www/binary-releases.html">Binary Releases</a>
93</div>
94<div class="sub">
95 <a href="../../www/binary-releases.html#unix">Unix</a>
96</div>
97<div class="sub">
98 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
99</div>
100<div class="sub">
101 <a href="../../www/binary-releases.html#windows">Windows</a>
102</div>
103<div class="menu">
104 <a href="../../www/resources.html">Resources</a>
105</div>
cristyf3bb4782009-09-08 13:10:04 +0000106<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
108 <a href="../../www/download.html">Download</a>
109</div>
cristyf3bb4782009-09-08 13:10:04 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
112 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
113</div>
cristyf3bb4782009-09-08 13:10:04 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
116 <a href="../../www/sitemap.html">Site Map</a>
117</div>
118<div class="sub">
119 <a href="../../www/links.html">Links</a>
120</div>
cristyf3bb4782009-09-08 13:10:04 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
123 <a href="../../www/sponsors.html">Sponsors:</a>
124
125<div class="sponsbox">
126<div class="sponsor">
cristy1f9e1ed2009-11-18 04:09:38 +0000127 <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
128</div>
129<div class="sponsor">
cristycdbe2742010-02-07 19:30:44 +0000130 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
cristy2744bd92009-11-08 22:57:52 +0000131</div>
132<div class="sponsor">
133 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
cristyb4c03bb2009-09-27 13:55:46 +0000134</div>
135<div class="sponsor">
136 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
137</div>
138<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000139 <a href="http://www.goyax.de">Börse</a><!-- 201004010240 Gewiese digital-finance.de -->
cristyf3bb4782009-09-08 13:10:04 +0000140</div>
141<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000142 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
144<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000145 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
146</div>
cristy3ed852e2009-09-05 21:47:34 +0000147</div>
148</div>
cristyf3bb4782009-09-08 13:10:04 +0000149
150
151</div>
152
153<div class="main">
154
cristy83543962009-10-16 19:04:28 +0000155<p class="navigation-index">[<a href="#AcquireModuleInfo">AcquireModuleInfo</a> &bull; <a href="#DestroyModuleList">DestroyModuleList</a> &bull; <a href="#GetModuleInfo">GetModuleInfo</a> &bull; <a href="#GetModuleInfoList">GetModuleInfoList</a> &bull; <a href="#GetModuleList">GetModuleList</a> &bull; <a href="#GetMagickModulePath">GetMagickModulePath</a> &bull; <a href="#InitializeModuleList">InitializeModuleList</a> &bull; <a href="#InvokeDynamicImageFilter">InvokeDynamicImageFilter</a> &bull; <a href="#ListModuleInfo">ListModuleInfo</a> &bull; <a href="#OpenModule">OpenModule</a> &bull; <a href="#OpenModules">OpenModules</a> &bull; <a href="#RegisterModule">RegisterModule</a> &bull; <a href="#TagToCoderModuleName">TagToCoderModuleName</a> &bull; <a href="#TagToFilterModuleName">TagToFilterModuleName</a> &bull; <a href="#TagToModuleName">TagToModuleName</a> &bull; <a href="#UnregisterModule">UnregisterModule</a>]</p>
cristy3ed852e2009-09-05 21:47:34 +0000156
157<h2><a href="http://www.imagemagick.org/api/MagickCore/module
158_8c.html" target="source" name="AcquireModuleInfo">AcquireModuleInfo</a></h2>
159<div class="doc-section">
160
161<p>AcquireModuleInfo() allocates the ModuleInfo structure.</p></ol>
162
163<p>The format of the AcquireModuleInfo method is:</p>
164
165<pre class="code">
166 ModuleInfo *AcquireModuleInfo(const char *path,const char *tag)
167</pre>
168
169<p>A description of each parameter follows:</p></ol>
170
171<h5>path</h5>
172<ol><p>the path associated with the tag.</p></ol>
173
174<h5>tag</h5>
175<ol><p>a character string that represents the image format we are looking for.</p></ol>
176
177 </div>
178<h2><a href="http://www.imagemagick.org/api/MagickCore/module
179_8c.html" target="source" name="DestroyModuleList">DestroyModuleList</a></h2>
180<div class="doc-section">
181
182<p>DestroyModuleList() unregisters any previously loaded modules and exits the module loaded environment.</p></ol>
183
184<p>The format of the DestroyModuleList module is:</p>
185
186<pre class="text">
187 void DestroyModuleList(void)
188</pre>
189
190 </div>
191<h2><a href="http://www.imagemagick.org/api/MagickCore/module
192_8c.html" target="source" name="GetModuleInfo">GetModuleInfo</a></h2>
193<div class="doc-section">
194
195<p>GetModuleInfo() returns a pointer to a ModuleInfo structure that matches the specified tag. If tag is NULL, the head of the module list is returned. If no modules are loaded, or the requested module is not found, NULL is returned.</p></ol>
196
197<p>The format of the GetModuleInfo module is:</p>
198
199<pre class="text">
200 ModuleInfo *GetModuleInfo(const char *tag,ExceptionInfo *exception)
201</pre>
202
203<p>A description of each parameter follows:</p></ol>
204
205<h5>tag</h5>
206<ol><p>a character string that represents the image format we are looking for.</p></ol>
207
208<h5>exception</h5>
209<ol><p>return any errors or warnings in this structure.</p></ol>
210
211 </div>
212<h2><a href="http://www.imagemagick.org/api/MagickCore/module
213_8c.html" target="source" name="GetModuleInfoList">GetModuleInfoList</a></h2>
214<div class="doc-section">
215
216<p>GetModuleInfoList() returns any modules that match the specified pattern.</p></ol>
217
218<p>The format of the GetModuleInfoList function is:</p>
219
220<pre class="text">
221 const ModuleInfo **GetModuleInfoList(const char *pattern,
222 unsigned long *number_modules,ExceptionInfo *exception)
223</pre>
224
225<p>A description of each parameter follows:</p></ol>
226
227<h5>pattern</h5>
228<ol><p>Specifies a pointer to a text string containing a pattern.</p></ol>
229
230<h5>number_modules</h5>
231<ol><p>This integer returns the number of modules in the list.</p></ol>
232
233<h5>exception</h5>
234<ol><p>return any errors or warnings in this structure.</p></ol>
235
236 </div>
237<h2><a href="http://www.imagemagick.org/api/MagickCore/module
238_8c.html" target="source" name="GetModuleList">GetModuleList</a></h2>
239<div class="doc-section">
240
241<p>GetModuleList() returns any image format modules that match the specified pattern.</p></ol>
242
243<p>The format of the GetModuleList function is:</p>
244
245<pre class="text">
246 char **GetModuleList(const char *pattern,unsigned long *number_modules,
247 ExceptionInfo *exception)
248</pre>
249
250<p>A description of each parameter follows:</p></ol>
251
252<h5>pattern</h5>
253<ol><p>Specifies a pointer to a text string containing a pattern.</p></ol>
254
255<h5>number_modules</h5>
256<ol><p>This integer returns the number of modules in the list.</p></ol>
257
258<h5>exception</h5>
259<ol><p>return any errors or warnings in this structure.</p></ol>
260
261 </div>
262<h2><a href="http://www.imagemagick.org/api/MagickCore/module
263_8c.html" target="source" name="GetMagickModulePath">GetMagickModulePath</a></h2>
264<div class="doc-section">
265
266<p>GetMagickModulePath() finds a module with the specified module type and filename.</p></ol>
267
268<p>The format of the GetMagickModulePath module is:</p>
269
270<pre class="text">
271 MagickBooleanType GetMagickModulePath(const char *filename,
272 MagickModuleType module_type,char *path,ExceptionInfo *exception)
273</pre>
274
275<p>A description of each parameter follows:</p></ol>
276
277<h5>filename</h5>
278<ol><p>the module file name.</p></ol>
279
280<h5>module_type</h5>
281<ol><p>the module type: MagickImageCoderModule or MagickImageFilterModule.</p></ol>
282
283<h5>path</h5>
284<ol><p>the path associated with the filename.</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/module
cristy83543962009-10-16 19:04:28 +0000291_8c.html" target="source" name="InitializeModuleList">InitializeModuleList</a></h2>
292<div class="doc-section">
293
294<p>InitializeModuleList() initializes the module loader.</p></ol>
295
296<p>The format of the InitializeModuleList() method is:</p>
297
298<pre class="code">
299 InitializeModuleList(Exceptioninfo *exception)
300</pre>
301
302<p>A description of each parameter follows.</p></ol>
303
304<h5>exception</h5>
305<ol><p>return any errors or warnings in this structure.</p></ol>
306
307 </div>
308<h2><a href="http://www.imagemagick.org/api/MagickCore/module
cristy3ed852e2009-09-05 21:47:34 +0000309_8c.html" target="source" name="InvokeDynamicImageFilter">InvokeDynamicImageFilter</a></h2>
310<div class="doc-section">
311
312<p>InvokeDynamicImageFilter() invokes a dynamic image filter.</p></ol>
313
314<p>The format of the InvokeDynamicImageFilter module is:</p>
315
316<pre class="text">
317 MagickBooleanType InvokeDynamicImageFilter(const char *tag,Image **image,
318 const int argc,const char **argv,ExceptionInfo *exception)
319</pre>
320
321<p>A description of each parameter follows:</p></ol>
322
323<h5>tag</h5>
324<ol><p>a character string that represents the name of the particular module.</p></ol>
325
326<h5>image</h5>
327<ol><p>the image.</p></ol>
328
329<h5>argc</h5>
330<ol><p>a pointer to an integer describing the number of elements in the argument vector.</p></ol>
331
332<h5>argv</h5>
333<ol><p>a pointer to a text array containing the command line arguments.</p></ol>
334
335<h5>exception</h5>
336<ol><p>return any errors or warnings in this structure.</p></ol>
337
338 </div>
339<h2><a href="http://www.imagemagick.org/api/MagickCore/module
340_8c.html" target="source" name="ListModuleInfo">ListModuleInfo</a></h2>
341<div class="doc-section">
342
343<p>ListModuleInfo() lists the module info to a file.</p></ol>
344
345<p>The format of the ListModuleInfo module is:</p>
346
347<pre class="text">
348 MagickBooleanType ListModuleInfo(FILE *file,ExceptionInfo *exception)
349</pre>
350
351<p>A description of each parameter follows.</p></ol>
352
353<h5>file</h5>
354<ol><p>An pointer to a FILE.</p></ol>
355
356<h5>exception</h5>
357<ol><p>return any errors or warnings in this structure.</p></ol>
358
359 </div>
360<h2><a href="http://www.imagemagick.org/api/MagickCore/module
361_8c.html" target="source" name="OpenModule">OpenModule</a></h2>
362<div class="doc-section">
363
364<p>OpenModule() loads a module, and invokes its registration module. It returns MagickTrue on success, and MagickFalse if there is an error.</p></ol>
365
366<p>The format of the OpenModule module is:</p>
367
368<pre class="text">
369 MagickBooleanType OpenModule(const char *module,ExceptionInfo *exception)
370</pre>
371
372<p>A description of each parameter follows:</p></ol>
373
374<h5>module</h5>
375<ol><p>a character string that indicates the module to load.</p></ol>
376
377<h5>exception</h5>
378<ol><p>return any errors or warnings in this structure.</p></ol>
379
380 </div>
381<h2><a href="http://www.imagemagick.org/api/MagickCore/module
382_8c.html" target="source" name="OpenModules">OpenModules</a></h2>
383<div class="doc-section">
384
385<p>OpenModules() loads all available modules.</p></ol>
386
387<p>The format of the OpenModules module is:</p>
388
389<pre class="text">
390 MagickBooleanType OpenModules(ExceptionInfo *exception)
391</pre>
392
393<p>A description of each parameter follows:</p></ol>
394
395<h5>exception</h5>
396<ol><p>return any errors or warnings in this structure.</p></ol>
397
398 </div>
399<h2><a href="http://www.imagemagick.org/api/MagickCore/module
400_8c.html" target="source" name="RegisterModule">RegisterModule</a></h2>
401<div class="doc-section">
402
403<p>RegisterModule() adds an entry to the module list. It returns a pointer to the registered entry on success.</p></ol>
404
405<p>The format of the RegisterModule module is:</p>
406
407<pre class="text">
408 ModuleInfo *RegisterModule(const ModuleInfo *module_info,
409 ExceptionInfo *exception)
410</pre>
411
412<p>A description of each parameter follows:</p></ol>
413
414<h5>info</h5>
415<ol><p>a pointer to the registered entry is returned.</p></ol>
416
417<h5>module_info</h5>
418<ol><p>a pointer to the ModuleInfo structure to register.</p></ol>
419
420<h5>exception</h5>
421<ol><p>return any errors or warnings in this structure.</p></ol>
422
423 </div>
424<h2><a href="http://www.imagemagick.org/api/MagickCore/module
425_8c.html" target="source" name="TagToCoderModuleName">TagToCoderModuleName</a></h2>
426<div class="doc-section">
427
428<p>TagToCoderModuleName() munges a module tag and obtains the filename of the corresponding module.</p></ol>
429
430<p>The format of the TagToCoderModuleName module is:</p>
431
432<pre class="text">
433 char *TagToCoderModuleName(const char *tag,char *name)
434</pre>
435
436<p>A description of each parameter follows:</p></ol>
437
438<h5>tag</h5>
439<ol><p>a character string representing the module tag.</p></ol>
440
441<h5>name</h5>
442<ol><p>return the module name here.</p></ol>
443
444 </div>
445<h2><a href="http://www.imagemagick.org/api/MagickCore/module
446_8c.html" target="source" name="TagToFilterModuleName">TagToFilterModuleName</a></h2>
447<div class="doc-section">
448
449<p>TagToFilterModuleName() munges a module tag and returns the filename of the corresponding filter module.</p></ol>
450
451<p>The format of the TagToFilterModuleName module is:</p>
452
453<pre class="text">
454 void TagToFilterModuleName(const char *tag,char name)
455</pre>
456
457<p>A description of each parameter follows:</p></ol>
458
459<h5>tag</h5>
460<ol><p>a character string representing the module tag.</p></ol>
461
462<h5>name</h5>
463<ol><p>return the filter name here.</p></ol>
464
465 </div>
466<h2><a href="http://www.imagemagick.org/api/MagickCore/module
467_8c.html" target="source" name="TagToModuleName">TagToModuleName</a></h2>
468<div class="doc-section">
469
470<p>TagToModuleName() munges the module tag name and returns an upper-case tag name as the input string, and a user-provided format.</p></ol>
471
472<p>The format of the TagToModuleName module is:</p>
473
474<pre class="text">
475 TagToModuleName(const char *tag,const char *format,char *module)
476</pre>
477
478<p>A description of each parameter follows:</p></ol>
479
480<h5>tag</h5>
481<ol><p>the module tag.</p></ol>
482
483<h5>format</h5>
484<ol><p>a sprintf-compatible format string containing s where the upper-case tag name is to be inserted.</p></ol>
485
486<h5>module</h5>
487<ol><p>pointer to a destination buffer for the formatted result.</p></ol>
488
489 </div>
490<h2><a href="http://www.imagemagick.org/api/MagickCore/module
491_8c.html" target="source" name="UnregisterModule">UnregisterModule</a></h2>
492<div class="doc-section">
493
494<p>UnregisterModule() unloads a module, and invokes its de-registration module. Returns MagickTrue on success, and MagickFalse if there is an error.</p></ol>
495
496<p>The format of the UnregisterModule module is:</p>
497
498<pre class="text">
499 MagickBooleanType UnregisterModule(const ModuleInfo *module_info,
500 ExceptionInfo *exception)
501</pre>
502
503<p>A description of each parameter follows:</p></ol>
504
505<h5>module_info</h5>
506<ol><p>the module info.</p></ol>
507
508<h5>exception</h5>
509<ol><p>return any errors or warnings in this structure.</p></ol>
510
511 </div>
cristyf3bb4782009-09-08 13:10:04 +0000512
513</div>
514
515<div id="linkbar">
516 <!-- <span id="linkbar-west">&nbsp;</span> -->
517 <span id="linkbar-center">
518 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristy44e0f0e2010-02-07 22:21:23 +0000519 <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000520 </span>
521 <span id="linkbar-east">&nbsp;</span>
522 </div>
523 <div class="footer">
cristy16af1cb2009-12-11 21:38:29 +0000524 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
cristyf3bb4782009-09-08 13:10:04 +0000525 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
526 </div>
527 <div style="clear: both; margin: 0; width: 100%; "></div>
528</body>
529</html>