blob: 53e855d22d0f425b86018de733fd14813f870c8f [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>
5 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
6 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
7 <style type="text/css" media="screen,projection"><!--
8 @import url("../../www/magick.css");
9 --></style>
cristy3ed852e2009-09-05 21:47:34 +000010 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
11 <title>ImageMagick: MagickCore, C API for ImageMagick: Loadable Modules</title>
12 <meta http-equiv="Content-Language" content="en-US"/>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
15 <meta name="Generator" content="PHP"/>
16 <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"/>
17 <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."/>
18 <meta name="Rating" content="GENERAL"/>
19 <meta name="Robots" content="INDEX, FOLLOW"/>
20 <meta name="Generator" content="ImageMagick Studio LLC"/>
21 <meta name="Author" content="ImageMagick Studio LLC"/>
22 <meta name="Revisit-after" content="2 DAYS"/>
23 <meta name="Resource-type" content="document"/>
24 <meta name="Copyright" content="Copyright (c) 1999-2009 ImageMagick Studio LLC"/>
25 <meta name="Distribution" content="Global"/>
cristyf3bb4782009-09-08 13:10:04 +000026</head>
27
28<body id="www-imagemagick-org">
29<div class="titlebar">
30<a href="../../index.html">
31 <img src="../../images/script.png" alt="[ImageMagick]"
32 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
33<a href="http://www.networkredux.com">
34 <img src="../../images/networkredux.png" alt="[sponsor]"
35 style="margin: 45px auto; border: 0px; float: left;" /></a>
36<a href="http://www.imagemagick.org/discourse-server/">
37 <img src="../../images/logo.jpg" alt=""
38 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
39<a href="../../index.html">
40 <img src="../../images/sprite.jpg" alt=""
41 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
42</div>
43
44<div class="eastbar">
45
cristy3ed852e2009-09-05 21:47:34 +000046<div class="menu">
47 <a href="../../index.html">About ImageMagick</a>
48</div>
cristyf3bb4782009-09-08 13:10:04 +000049<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000050<div class="menu">
51 <a href="../../www/command-line-tools.html">Command-line Tools</a>
52</div>
53<div class="sub">
54 <a href="../../www/command-line-processing.html">Processing</a>
55</div>
56<div class="sub">
57 <a href="../../www/command-line-options.html">Options</a>
58</div>
59<div class="sub">
60 <a href="http://www.imagemagick.org/Usage/">Usage</a>
61</div>
62<div class="menu">
63 <a href="../../www/api.html">Program Interfaces</a>
64</div>
65<div class="sub">
66 <a href="../../www/magick-wand.html">MagickWand</a>
67</div>
68<div class="sub">
69 <a href="../../www/magick-core.html">MagickCore</a>
70</div>
71<div class="sub">
72 <a href="../../www/perl-magick.html">PerlMagick</a>
73</div>
74<div class="sub">
75 <a href="../../Magick++/">Magick++</a>
76</div>
77<div class="menu">
78 <a href="../../www/architecture.html">Architecture</a>
79</div>
cristyf3bb4782009-09-08 13:10:04 +000080<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000081<div class="menu">
82 <a href="../../www/install-source.html">Install from Source</a>
83</div>
84<div class="sub">
85 <a href="../../www/install-source.html#unix">Unix</a>
86</div>
87<div class="sub">
88 <a href="../../www/install-source.html#windows">Windows</a>
89 </div>
90<div class="menu">
91 <a href="../../www/binary-releases.html">Binary Releases</a>
92</div>
93<div class="sub">
94 <a href="../../www/binary-releases.html#unix">Unix</a>
95</div>
96<div class="sub">
97 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
98</div>
99<div class="sub">
100 <a href="../../www/binary-releases.html#windows">Windows</a>
101</div>
102<div class="menu">
103 <a href="../../www/resources.html">Resources</a>
104</div>
cristyf3bb4782009-09-08 13:10:04 +0000105<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000106<div class="menu">
107 <a href="../../www/download.html">Download</a>
108</div>
cristyf3bb4782009-09-08 13:10:04 +0000109<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000110<div class="menu">
111 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
112</div>
cristyf3bb4782009-09-08 13:10:04 +0000113<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000114<div class="menu">
115 <a href="../../www/sitemap.html">Site Map</a>
116</div>
117<div class="sub">
118 <a href="../../www/links.html">Links</a>
119</div>
cristyf3bb4782009-09-08 13:10:04 +0000120<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000121<div class="menu">
122 <a href="../../www/sponsors.html">Sponsors:</a>
123
124<div class="sponsbox">
125<div class="sponsor">
cristy0f61e612009-11-10 20:03:57 +0000126 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201004010120 Buchhorn -->
cristy2744bd92009-11-08 22:57:52 +0000127</div>
128<div class="sponsor">
129 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
cristyb4c03bb2009-09-27 13:55:46 +0000130</div>
131<div class="sponsor">
132 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
133</div>
134<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000135 <a href="http://www.goyax.de">Börse</a><!-- 201001000240 Gewiese digital-finance.de -->
136</div>
137<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000138 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
139</div>
140<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000141 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
142</div>
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
144</div>
cristyf3bb4782009-09-08 13:10:04 +0000145
146
147</div>
148
149<div class="main">
150
cristy83543962009-10-16 19:04:28 +0000151<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 +0000152
153<h2><a href="http://www.imagemagick.org/api/MagickCore/module
154_8c.html" target="source" name="AcquireModuleInfo">AcquireModuleInfo</a></h2>
155<div class="doc-section">
156
157<p>AcquireModuleInfo() allocates the ModuleInfo structure.</p></ol>
158
159<p>The format of the AcquireModuleInfo method is:</p>
160
161<pre class="code">
162 ModuleInfo *AcquireModuleInfo(const char *path,const char *tag)
163</pre>
164
165<p>A description of each parameter follows:</p></ol>
166
167<h5>path</h5>
168<ol><p>the path associated with the tag.</p></ol>
169
170<h5>tag</h5>
171<ol><p>a character string that represents the image format we are looking for.</p></ol>
172
173 </div>
174<h2><a href="http://www.imagemagick.org/api/MagickCore/module
175_8c.html" target="source" name="DestroyModuleList">DestroyModuleList</a></h2>
176<div class="doc-section">
177
178<p>DestroyModuleList() unregisters any previously loaded modules and exits the module loaded environment.</p></ol>
179
180<p>The format of the DestroyModuleList module is:</p>
181
182<pre class="text">
183 void DestroyModuleList(void)
184</pre>
185
186 </div>
187<h2><a href="http://www.imagemagick.org/api/MagickCore/module
188_8c.html" target="source" name="GetModuleInfo">GetModuleInfo</a></h2>
189<div class="doc-section">
190
191<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>
192
193<p>The format of the GetModuleInfo module is:</p>
194
195<pre class="text">
196 ModuleInfo *GetModuleInfo(const char *tag,ExceptionInfo *exception)
197</pre>
198
199<p>A description of each parameter follows:</p></ol>
200
201<h5>tag</h5>
202<ol><p>a character string that represents the image format we are looking for.</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/module
209_8c.html" target="source" name="GetModuleInfoList">GetModuleInfoList</a></h2>
210<div class="doc-section">
211
212<p>GetModuleInfoList() returns any modules that match the specified pattern.</p></ol>
213
214<p>The format of the GetModuleInfoList function is:</p>
215
216<pre class="text">
217 const ModuleInfo **GetModuleInfoList(const char *pattern,
218 unsigned long *number_modules,ExceptionInfo *exception)
219</pre>
220
221<p>A description of each parameter follows:</p></ol>
222
223<h5>pattern</h5>
224<ol><p>Specifies a pointer to a text string containing a pattern.</p></ol>
225
226<h5>number_modules</h5>
227<ol><p>This integer returns the number of modules in the list.</p></ol>
228
229<h5>exception</h5>
230<ol><p>return any errors or warnings in this structure.</p></ol>
231
232 </div>
233<h2><a href="http://www.imagemagick.org/api/MagickCore/module
234_8c.html" target="source" name="GetModuleList">GetModuleList</a></h2>
235<div class="doc-section">
236
237<p>GetModuleList() returns any image format modules that match the specified pattern.</p></ol>
238
239<p>The format of the GetModuleList function is:</p>
240
241<pre class="text">
242 char **GetModuleList(const char *pattern,unsigned long *number_modules,
243 ExceptionInfo *exception)
244</pre>
245
246<p>A description of each parameter follows:</p></ol>
247
248<h5>pattern</h5>
249<ol><p>Specifies a pointer to a text string containing a pattern.</p></ol>
250
251<h5>number_modules</h5>
252<ol><p>This integer returns the number of modules in the list.</p></ol>
253
254<h5>exception</h5>
255<ol><p>return any errors or warnings in this structure.</p></ol>
256
257 </div>
258<h2><a href="http://www.imagemagick.org/api/MagickCore/module
259_8c.html" target="source" name="GetMagickModulePath">GetMagickModulePath</a></h2>
260<div class="doc-section">
261
262<p>GetMagickModulePath() finds a module with the specified module type and filename.</p></ol>
263
264<p>The format of the GetMagickModulePath module is:</p>
265
266<pre class="text">
267 MagickBooleanType GetMagickModulePath(const char *filename,
268 MagickModuleType module_type,char *path,ExceptionInfo *exception)
269</pre>
270
271<p>A description of each parameter follows:</p></ol>
272
273<h5>filename</h5>
274<ol><p>the module file name.</p></ol>
275
276<h5>module_type</h5>
277<ol><p>the module type: MagickImageCoderModule or MagickImageFilterModule.</p></ol>
278
279<h5>path</h5>
280<ol><p>the path associated with the filename.</p></ol>
281
282<h5>exception</h5>
283<ol><p>return any errors or warnings in this structure.</p></ol>
284
285 </div>
286<h2><a href="http://www.imagemagick.org/api/MagickCore/module
cristy83543962009-10-16 19:04:28 +0000287_8c.html" target="source" name="InitializeModuleList">InitializeModuleList</a></h2>
288<div class="doc-section">
289
290<p>InitializeModuleList() initializes the module loader.</p></ol>
291
292<p>The format of the InitializeModuleList() method is:</p>
293
294<pre class="code">
295 InitializeModuleList(Exceptioninfo *exception)
296</pre>
297
298<p>A description of each parameter follows.</p></ol>
299
300<h5>exception</h5>
301<ol><p>return any errors or warnings in this structure.</p></ol>
302
303 </div>
304<h2><a href="http://www.imagemagick.org/api/MagickCore/module
cristy3ed852e2009-09-05 21:47:34 +0000305_8c.html" target="source" name="InvokeDynamicImageFilter">InvokeDynamicImageFilter</a></h2>
306<div class="doc-section">
307
308<p>InvokeDynamicImageFilter() invokes a dynamic image filter.</p></ol>
309
310<p>The format of the InvokeDynamicImageFilter module is:</p>
311
312<pre class="text">
313 MagickBooleanType InvokeDynamicImageFilter(const char *tag,Image **image,
314 const int argc,const char **argv,ExceptionInfo *exception)
315</pre>
316
317<p>A description of each parameter follows:</p></ol>
318
319<h5>tag</h5>
320<ol><p>a character string that represents the name of the particular module.</p></ol>
321
322<h5>image</h5>
323<ol><p>the image.</p></ol>
324
325<h5>argc</h5>
326<ol><p>a pointer to an integer describing the number of elements in the argument vector.</p></ol>
327
328<h5>argv</h5>
329<ol><p>a pointer to a text array containing the command line arguments.</p></ol>
330
331<h5>exception</h5>
332<ol><p>return any errors or warnings in this structure.</p></ol>
333
334 </div>
335<h2><a href="http://www.imagemagick.org/api/MagickCore/module
336_8c.html" target="source" name="ListModuleInfo">ListModuleInfo</a></h2>
337<div class="doc-section">
338
339<p>ListModuleInfo() lists the module info to a file.</p></ol>
340
341<p>The format of the ListModuleInfo module is:</p>
342
343<pre class="text">
344 MagickBooleanType ListModuleInfo(FILE *file,ExceptionInfo *exception)
345</pre>
346
347<p>A description of each parameter follows.</p></ol>
348
349<h5>file</h5>
350<ol><p>An pointer to a FILE.</p></ol>
351
352<h5>exception</h5>
353<ol><p>return any errors or warnings in this structure.</p></ol>
354
355 </div>
356<h2><a href="http://www.imagemagick.org/api/MagickCore/module
357_8c.html" target="source" name="OpenModule">OpenModule</a></h2>
358<div class="doc-section">
359
360<p>OpenModule() loads a module, and invokes its registration module. It returns MagickTrue on success, and MagickFalse if there is an error.</p></ol>
361
362<p>The format of the OpenModule module is:</p>
363
364<pre class="text">
365 MagickBooleanType OpenModule(const char *module,ExceptionInfo *exception)
366</pre>
367
368<p>A description of each parameter follows:</p></ol>
369
370<h5>module</h5>
371<ol><p>a character string that indicates the module to load.</p></ol>
372
373<h5>exception</h5>
374<ol><p>return any errors or warnings in this structure.</p></ol>
375
376 </div>
377<h2><a href="http://www.imagemagick.org/api/MagickCore/module
378_8c.html" target="source" name="OpenModules">OpenModules</a></h2>
379<div class="doc-section">
380
381<p>OpenModules() loads all available modules.</p></ol>
382
383<p>The format of the OpenModules module is:</p>
384
385<pre class="text">
386 MagickBooleanType OpenModules(ExceptionInfo *exception)
387</pre>
388
389<p>A description of each parameter follows:</p></ol>
390
391<h5>exception</h5>
392<ol><p>return any errors or warnings in this structure.</p></ol>
393
394 </div>
395<h2><a href="http://www.imagemagick.org/api/MagickCore/module
396_8c.html" target="source" name="RegisterModule">RegisterModule</a></h2>
397<div class="doc-section">
398
399<p>RegisterModule() adds an entry to the module list. It returns a pointer to the registered entry on success.</p></ol>
400
401<p>The format of the RegisterModule module is:</p>
402
403<pre class="text">
404 ModuleInfo *RegisterModule(const ModuleInfo *module_info,
405 ExceptionInfo *exception)
406</pre>
407
408<p>A description of each parameter follows:</p></ol>
409
410<h5>info</h5>
411<ol><p>a pointer to the registered entry is returned.</p></ol>
412
413<h5>module_info</h5>
414<ol><p>a pointer to the ModuleInfo structure to register.</p></ol>
415
416<h5>exception</h5>
417<ol><p>return any errors or warnings in this structure.</p></ol>
418
419 </div>
420<h2><a href="http://www.imagemagick.org/api/MagickCore/module
421_8c.html" target="source" name="TagToCoderModuleName">TagToCoderModuleName</a></h2>
422<div class="doc-section">
423
424<p>TagToCoderModuleName() munges a module tag and obtains the filename of the corresponding module.</p></ol>
425
426<p>The format of the TagToCoderModuleName module is:</p>
427
428<pre class="text">
429 char *TagToCoderModuleName(const char *tag,char *name)
430</pre>
431
432<p>A description of each parameter follows:</p></ol>
433
434<h5>tag</h5>
435<ol><p>a character string representing the module tag.</p></ol>
436
437<h5>name</h5>
438<ol><p>return the module name here.</p></ol>
439
440 </div>
441<h2><a href="http://www.imagemagick.org/api/MagickCore/module
442_8c.html" target="source" name="TagToFilterModuleName">TagToFilterModuleName</a></h2>
443<div class="doc-section">
444
445<p>TagToFilterModuleName() munges a module tag and returns the filename of the corresponding filter module.</p></ol>
446
447<p>The format of the TagToFilterModuleName module is:</p>
448
449<pre class="text">
450 void TagToFilterModuleName(const char *tag,char name)
451</pre>
452
453<p>A description of each parameter follows:</p></ol>
454
455<h5>tag</h5>
456<ol><p>a character string representing the module tag.</p></ol>
457
458<h5>name</h5>
459<ol><p>return the filter name here.</p></ol>
460
461 </div>
462<h2><a href="http://www.imagemagick.org/api/MagickCore/module
463_8c.html" target="source" name="TagToModuleName">TagToModuleName</a></h2>
464<div class="doc-section">
465
466<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>
467
468<p>The format of the TagToModuleName module is:</p>
469
470<pre class="text">
471 TagToModuleName(const char *tag,const char *format,char *module)
472</pre>
473
474<p>A description of each parameter follows:</p></ol>
475
476<h5>tag</h5>
477<ol><p>the module tag.</p></ol>
478
479<h5>format</h5>
480<ol><p>a sprintf-compatible format string containing s where the upper-case tag name is to be inserted.</p></ol>
481
482<h5>module</h5>
483<ol><p>pointer to a destination buffer for the formatted result.</p></ol>
484
485 </div>
486<h2><a href="http://www.imagemagick.org/api/MagickCore/module
487_8c.html" target="source" name="UnregisterModule">UnregisterModule</a></h2>
488<div class="doc-section">
489
490<p>UnregisterModule() unloads a module, and invokes its de-registration module. Returns MagickTrue on success, and MagickFalse if there is an error.</p></ol>
491
492<p>The format of the UnregisterModule module is:</p>
493
494<pre class="text">
495 MagickBooleanType UnregisterModule(const ModuleInfo *module_info,
496 ExceptionInfo *exception)
497</pre>
498
499<p>A description of each parameter follows:</p></ol>
500
501<h5>module_info</h5>
502<ol><p>the module info.</p></ol>
503
504<h5>exception</h5>
505<ol><p>return any errors or warnings in this structure.</p></ol>
506
507 </div>
cristyf3bb4782009-09-08 13:10:04 +0000508
509</div>
510
511<div id="linkbar">
512 <!-- <span id="linkbar-west">&nbsp;</span> -->
513 <span id="linkbar-center">
514 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
515 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
cristy2744bd92009-11-08 22:57:52 +0000516 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000517 </span>
518 <span id="linkbar-east">&nbsp;</span>
519 </div>
520 <div class="footer">
521 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
522 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
523 </div>
524 <div style="clear: both; margin: 0; width: 100%; "></div>
525</body>
526</html>