blob: f287f47010d0feddffb57a981065b8c900531d34 [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">
cristy2744bd92009-11-08 22:57:52 +0000126 <a href="http://www.hygi.de">Reinigungsmittel</a><!-- 201002000400+ -->
127</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">
cristy916e1922009-10-01 12:52:47 +0000132 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201003010120 Buchhorn -->
133</div>
134<div class="sponsor">
cristyb4c03bb2009-09-27 13:55:46 +0000135 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
136</div>
137<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000138 <a href="http://www.goyax.de">Börse</a><!-- 201001000240 Gewiese digital-finance.de -->
139</div>
140<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000141 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
142</div>
143<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000144 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
145</div>
cristy3ed852e2009-09-05 21:47:34 +0000146</div>
147</div>
cristyf3bb4782009-09-08 13:10:04 +0000148
149
150</div>
151
152<div class="main">
153
cristy83543962009-10-16 19:04:28 +0000154<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 +0000155
156<h2><a href="http://www.imagemagick.org/api/MagickCore/module
157_8c.html" target="source" name="AcquireModuleInfo">AcquireModuleInfo</a></h2>
158<div class="doc-section">
159
160<p>AcquireModuleInfo() allocates the ModuleInfo structure.</p></ol>
161
162<p>The format of the AcquireModuleInfo method is:</p>
163
164<pre class="code">
165 ModuleInfo *AcquireModuleInfo(const char *path,const char *tag)
166</pre>
167
168<p>A description of each parameter follows:</p></ol>
169
170<h5>path</h5>
171<ol><p>the path associated with the tag.</p></ol>
172
173<h5>tag</h5>
174<ol><p>a character string that represents the image format we are looking for.</p></ol>
175
176 </div>
177<h2><a href="http://www.imagemagick.org/api/MagickCore/module
178_8c.html" target="source" name="DestroyModuleList">DestroyModuleList</a></h2>
179<div class="doc-section">
180
181<p>DestroyModuleList() unregisters any previously loaded modules and exits the module loaded environment.</p></ol>
182
183<p>The format of the DestroyModuleList module is:</p>
184
185<pre class="text">
186 void DestroyModuleList(void)
187</pre>
188
189 </div>
190<h2><a href="http://www.imagemagick.org/api/MagickCore/module
191_8c.html" target="source" name="GetModuleInfo">GetModuleInfo</a></h2>
192<div class="doc-section">
193
194<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>
195
196<p>The format of the GetModuleInfo module is:</p>
197
198<pre class="text">
199 ModuleInfo *GetModuleInfo(const char *tag,ExceptionInfo *exception)
200</pre>
201
202<p>A description of each parameter follows:</p></ol>
203
204<h5>tag</h5>
205<ol><p>a character string that represents the image format we are looking for.</p></ol>
206
207<h5>exception</h5>
208<ol><p>return any errors or warnings in this structure.</p></ol>
209
210 </div>
211<h2><a href="http://www.imagemagick.org/api/MagickCore/module
212_8c.html" target="source" name="GetModuleInfoList">GetModuleInfoList</a></h2>
213<div class="doc-section">
214
215<p>GetModuleInfoList() returns any modules that match the specified pattern.</p></ol>
216
217<p>The format of the GetModuleInfoList function is:</p>
218
219<pre class="text">
220 const ModuleInfo **GetModuleInfoList(const char *pattern,
221 unsigned long *number_modules,ExceptionInfo *exception)
222</pre>
223
224<p>A description of each parameter follows:</p></ol>
225
226<h5>pattern</h5>
227<ol><p>Specifies a pointer to a text string containing a pattern.</p></ol>
228
229<h5>number_modules</h5>
230<ol><p>This integer returns the number of modules in the list.</p></ol>
231
232<h5>exception</h5>
233<ol><p>return any errors or warnings in this structure.</p></ol>
234
235 </div>
236<h2><a href="http://www.imagemagick.org/api/MagickCore/module
237_8c.html" target="source" name="GetModuleList">GetModuleList</a></h2>
238<div class="doc-section">
239
240<p>GetModuleList() returns any image format modules that match the specified pattern.</p></ol>
241
242<p>The format of the GetModuleList function is:</p>
243
244<pre class="text">
245 char **GetModuleList(const char *pattern,unsigned long *number_modules,
246 ExceptionInfo *exception)
247</pre>
248
249<p>A description of each parameter follows:</p></ol>
250
251<h5>pattern</h5>
252<ol><p>Specifies a pointer to a text string containing a pattern.</p></ol>
253
254<h5>number_modules</h5>
255<ol><p>This integer returns the number of modules in the list.</p></ol>
256
257<h5>exception</h5>
258<ol><p>return any errors or warnings in this structure.</p></ol>
259
260 </div>
261<h2><a href="http://www.imagemagick.org/api/MagickCore/module
262_8c.html" target="source" name="GetMagickModulePath">GetMagickModulePath</a></h2>
263<div class="doc-section">
264
265<p>GetMagickModulePath() finds a module with the specified module type and filename.</p></ol>
266
267<p>The format of the GetMagickModulePath module is:</p>
268
269<pre class="text">
270 MagickBooleanType GetMagickModulePath(const char *filename,
271 MagickModuleType module_type,char *path,ExceptionInfo *exception)
272</pre>
273
274<p>A description of each parameter follows:</p></ol>
275
276<h5>filename</h5>
277<ol><p>the module file name.</p></ol>
278
279<h5>module_type</h5>
280<ol><p>the module type: MagickImageCoderModule or MagickImageFilterModule.</p></ol>
281
282<h5>path</h5>
283<ol><p>the path associated with the filename.</p></ol>
284
285<h5>exception</h5>
286<ol><p>return any errors or warnings in this structure.</p></ol>
287
288 </div>
289<h2><a href="http://www.imagemagick.org/api/MagickCore/module
cristy83543962009-10-16 19:04:28 +0000290_8c.html" target="source" name="InitializeModuleList">InitializeModuleList</a></h2>
291<div class="doc-section">
292
293<p>InitializeModuleList() initializes the module loader.</p></ol>
294
295<p>The format of the InitializeModuleList() method is:</p>
296
297<pre class="code">
298 InitializeModuleList(Exceptioninfo *exception)
299</pre>
300
301<p>A description of each parameter follows.</p></ol>
302
303<h5>exception</h5>
304<ol><p>return any errors or warnings in this structure.</p></ol>
305
306 </div>
307<h2><a href="http://www.imagemagick.org/api/MagickCore/module
cristy3ed852e2009-09-05 21:47:34 +0000308_8c.html" target="source" name="InvokeDynamicImageFilter">InvokeDynamicImageFilter</a></h2>
309<div class="doc-section">
310
311<p>InvokeDynamicImageFilter() invokes a dynamic image filter.</p></ol>
312
313<p>The format of the InvokeDynamicImageFilter module is:</p>
314
315<pre class="text">
316 MagickBooleanType InvokeDynamicImageFilter(const char *tag,Image **image,
317 const int argc,const char **argv,ExceptionInfo *exception)
318</pre>
319
320<p>A description of each parameter follows:</p></ol>
321
322<h5>tag</h5>
323<ol><p>a character string that represents the name of the particular module.</p></ol>
324
325<h5>image</h5>
326<ol><p>the image.</p></ol>
327
328<h5>argc</h5>
329<ol><p>a pointer to an integer describing the number of elements in the argument vector.</p></ol>
330
331<h5>argv</h5>
332<ol><p>a pointer to a text array containing the command line arguments.</p></ol>
333
334<h5>exception</h5>
335<ol><p>return any errors or warnings in this structure.</p></ol>
336
337 </div>
338<h2><a href="http://www.imagemagick.org/api/MagickCore/module
339_8c.html" target="source" name="ListModuleInfo">ListModuleInfo</a></h2>
340<div class="doc-section">
341
342<p>ListModuleInfo() lists the module info to a file.</p></ol>
343
344<p>The format of the ListModuleInfo module is:</p>
345
346<pre class="text">
347 MagickBooleanType ListModuleInfo(FILE *file,ExceptionInfo *exception)
348</pre>
349
350<p>A description of each parameter follows.</p></ol>
351
352<h5>file</h5>
353<ol><p>An pointer to a FILE.</p></ol>
354
355<h5>exception</h5>
356<ol><p>return any errors or warnings in this structure.</p></ol>
357
358 </div>
359<h2><a href="http://www.imagemagick.org/api/MagickCore/module
360_8c.html" target="source" name="OpenModule">OpenModule</a></h2>
361<div class="doc-section">
362
363<p>OpenModule() loads a module, and invokes its registration module. It returns MagickTrue on success, and MagickFalse if there is an error.</p></ol>
364
365<p>The format of the OpenModule module is:</p>
366
367<pre class="text">
368 MagickBooleanType OpenModule(const char *module,ExceptionInfo *exception)
369</pre>
370
371<p>A description of each parameter follows:</p></ol>
372
373<h5>module</h5>
374<ol><p>a character string that indicates the module to load.</p></ol>
375
376<h5>exception</h5>
377<ol><p>return any errors or warnings in this structure.</p></ol>
378
379 </div>
380<h2><a href="http://www.imagemagick.org/api/MagickCore/module
381_8c.html" target="source" name="OpenModules">OpenModules</a></h2>
382<div class="doc-section">
383
384<p>OpenModules() loads all available modules.</p></ol>
385
386<p>The format of the OpenModules module is:</p>
387
388<pre class="text">
389 MagickBooleanType OpenModules(ExceptionInfo *exception)
390</pre>
391
392<p>A description of each parameter follows:</p></ol>
393
394<h5>exception</h5>
395<ol><p>return any errors or warnings in this structure.</p></ol>
396
397 </div>
398<h2><a href="http://www.imagemagick.org/api/MagickCore/module
399_8c.html" target="source" name="RegisterModule">RegisterModule</a></h2>
400<div class="doc-section">
401
402<p>RegisterModule() adds an entry to the module list. It returns a pointer to the registered entry on success.</p></ol>
403
404<p>The format of the RegisterModule module is:</p>
405
406<pre class="text">
407 ModuleInfo *RegisterModule(const ModuleInfo *module_info,
408 ExceptionInfo *exception)
409</pre>
410
411<p>A description of each parameter follows:</p></ol>
412
413<h5>info</h5>
414<ol><p>a pointer to the registered entry is returned.</p></ol>
415
416<h5>module_info</h5>
417<ol><p>a pointer to the ModuleInfo structure to register.</p></ol>
418
419<h5>exception</h5>
420<ol><p>return any errors or warnings in this structure.</p></ol>
421
422 </div>
423<h2><a href="http://www.imagemagick.org/api/MagickCore/module
424_8c.html" target="source" name="TagToCoderModuleName">TagToCoderModuleName</a></h2>
425<div class="doc-section">
426
427<p>TagToCoderModuleName() munges a module tag and obtains the filename of the corresponding module.</p></ol>
428
429<p>The format of the TagToCoderModuleName module is:</p>
430
431<pre class="text">
432 char *TagToCoderModuleName(const char *tag,char *name)
433</pre>
434
435<p>A description of each parameter follows:</p></ol>
436
437<h5>tag</h5>
438<ol><p>a character string representing the module tag.</p></ol>
439
440<h5>name</h5>
441<ol><p>return the module name here.</p></ol>
442
443 </div>
444<h2><a href="http://www.imagemagick.org/api/MagickCore/module
445_8c.html" target="source" name="TagToFilterModuleName">TagToFilterModuleName</a></h2>
446<div class="doc-section">
447
448<p>TagToFilterModuleName() munges a module tag and returns the filename of the corresponding filter module.</p></ol>
449
450<p>The format of the TagToFilterModuleName module is:</p>
451
452<pre class="text">
453 void TagToFilterModuleName(const char *tag,char name)
454</pre>
455
456<p>A description of each parameter follows:</p></ol>
457
458<h5>tag</h5>
459<ol><p>a character string representing the module tag.</p></ol>
460
461<h5>name</h5>
462<ol><p>return the filter name here.</p></ol>
463
464 </div>
465<h2><a href="http://www.imagemagick.org/api/MagickCore/module
466_8c.html" target="source" name="TagToModuleName">TagToModuleName</a></h2>
467<div class="doc-section">
468
469<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>
470
471<p>The format of the TagToModuleName module is:</p>
472
473<pre class="text">
474 TagToModuleName(const char *tag,const char *format,char *module)
475</pre>
476
477<p>A description of each parameter follows:</p></ol>
478
479<h5>tag</h5>
480<ol><p>the module tag.</p></ol>
481
482<h5>format</h5>
483<ol><p>a sprintf-compatible format string containing s where the upper-case tag name is to be inserted.</p></ol>
484
485<h5>module</h5>
486<ol><p>pointer to a destination buffer for the formatted result.</p></ol>
487
488 </div>
489<h2><a href="http://www.imagemagick.org/api/MagickCore/module
490_8c.html" target="source" name="UnregisterModule">UnregisterModule</a></h2>
491<div class="doc-section">
492
493<p>UnregisterModule() unloads a module, and invokes its de-registration module. Returns MagickTrue on success, and MagickFalse if there is an error.</p></ol>
494
495<p>The format of the UnregisterModule module is:</p>
496
497<pre class="text">
498 MagickBooleanType UnregisterModule(const ModuleInfo *module_info,
499 ExceptionInfo *exception)
500</pre>
501
502<p>A description of each parameter follows:</p></ol>
503
504<h5>module_info</h5>
505<ol><p>the module info.</p></ol>
506
507<h5>exception</h5>
508<ol><p>return any errors or warnings in this structure.</p></ol>
509
510 </div>
cristyf3bb4782009-09-08 13:10:04 +0000511
512</div>
513
514<div id="linkbar">
515 <!-- <span id="linkbar-west">&nbsp;</span> -->
516 <span id="linkbar-center">
517 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
518 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
cristy2744bd92009-11-08 22:57:52 +0000519 <a href="http://www.imagemagick.org/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">
524 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
525 <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>