• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3
4
5<!DOCTYPE html>
6<html lang="en">
7<head>
8  <meta charset="utf-8"  />
9  <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no"  />
10  <title>ImageMagick - MagickCore, C API: Loadable Modules</title>
11  <meta name="application-name" content="ImageMagick" />
12  <meta name="description" content="Use ImageMagick® to create, edit, compose, and convert bitmap images. Resize an image, crop it, change its shades and colors, add captions, and more." />
13  <meta name="application-url" content="https://imagemagick.org" />
14  <meta name="generator" content="PHP" />
15  <meta name="keywords" content="magickcore, c, api:, loadable, modules, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
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-2020 ImageMagick Studio LLC" />
23  <meta name="distribution" content="Global" />
24  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
25  <meta property='og:url' content='../../' />
26  <meta property='og:title' content='ImageMagick' />
27  <meta property='og:image' content='../../images/logo.png' />
28  <meta property='og:type' content='website' />
29  <meta property='og:site_name' content='ImageMagick' />
30  <meta property='og:description' content="Convert, Edit, or Compose Bitmap Images" />
31  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
32  <link href="../../api/module.html" rel="canonical" />
33  <link href="../images/wand.png" rel="icon" />
34  <link href="../images/wand.ico" rel="shortcut icon" />
35  <link href="assets/magick.css" rel="stylesheet" />
36</head>
37<body>
38  <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
39    <a class="navbar-brand" href="../index.html"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../images/wand.ico"/></a>
40    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsMagick" aria-controls="navbarsMagick" aria-expanded="false" aria-label="Toggle navigation">
41      <span class="navbar-toggler-icon"></span>
42    </button>
43
44    <div class="navbar-collapse collapse" id="navbarsMagick" style="">
45    <ul class="navbar-nav mr-auto">
46      <li class="nav-item ">
47        <a class="nav-link" href="../index.html">Home <span class="sr-only">(current)</span></a>
48      </li>
49      <li class="nav-item ">
50        <a class="nav-link" href="../www/download.html">Download</a>
51      </li>
52      <li class="nav-item ">
53        <a class="nav-link" href="../www/command-line-tools.html">Tools</a>
54      </li>
55      <li class="nav-item ">
56        <a class="nav-link" href="../www/command-line-processing.html">Command-line</a>
57      </li>
58      <li class="nav-item ">
59        <a class="nav-link" href="../www/resources.html">Resources</a>
60      </li>
61      <li class="nav-item ">
62        <a class="nav-link" href="../www/develop.html">Develop</a>
63      </li>
64      <li class="nav-item">
65        <a class="nav-link" target="_blank" href="https://imagemagick.org/discourse-server/">Community</a>
66      </li>
67    </ul>
68    <form class="form-inline my-2 my-lg-0" action="../https://imagemagick.org/script/search.php">
69      <input class="form-control mr-sm-2" type="text" name="q" placeholder="Search" aria-label="Search">
70      <button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="sa">Search</button>
71    </form>
72    </div>
73  </nav>
74  <div class="container">
75   <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
76         style="display:block"
77         data-ad-client="ca-pub-3129977114552745"
78         data-ad-slot="6345125851"
79         data-full-width-responsive="true"
80         data-ad-format="horizontal"></ins>
81    <script>
82      (adsbygoogle = window.adsbygoogle || []).push({});
83    </script>
84
85  </div>
86
87  <main class="container">
88    <div class="magick-template">
89<div class="magick-header">
90<p class="text-center"><a href="module.html#AcquireModuleInfo">AcquireModuleInfo</a> &#8226; <a href="module.html#DestroyModuleList">DestroyModuleList</a> &#8226; <a href="module.html#GetModuleInfo">GetModuleInfo</a> &#8226; <a href="module.html#GetModuleInfoList">GetModuleInfoList</a> &#8226; <a href="module.html#GetModuleList">GetModuleList</a> &#8226; <a href="module.html#GetMagickModulePath">GetMagickModulePath</a> &#8226; <a href="module.html#IsModuleTreeInstantiated">IsModuleTreeInstantiated</a> &#8226; <a href="module.html#InvokeDynamicImageFilter">InvokeDynamicImageFilter</a> &#8226; <a href="module.html#ListModuleInfo">ListModuleInfo</a> &#8226; <a href="module.html#OpenModule">OpenModule</a> &#8226; <a href="module.html#OpenModules">OpenModules</a> &#8226; <a href="module.html#RegisterModule">RegisterModule</a> &#8226; <a href="module.html#TagToCoderModuleName">TagToCoderModuleName</a> &#8226; <a href="module.html#TagToFilterModuleName">TagToFilterModuleName</a> &#8226; <a href="module.html#TagToModuleName">TagToModuleName</a> &#8226; <a href="module.html#UnregisterModule">UnregisterModule</a></p>
91
92<h2><a href="../../api/MagickCore/module_8c.html" id="AcquireModuleInfo">AcquireModuleInfo</a></h2>
93
94<p>AcquireModuleInfo() allocates the ModuleInfo structure.</p>
95
96<p>The format of the AcquireModuleInfo method is:</p>
97
98<pre class="text">
99ModuleInfo *AcquireModuleInfo(const char *path,const char *tag)
100</pre>
101
102<p>A description of each parameter follows:</p>
103
104<dd>
105</dd>
106
107<dd> </dd>
108<dl class="dl-horizontal">
109<dt>path</dt>
110<dd>the path associated with the tag. </dd>
111
112<dd> </dd>
113<dt>tag</dt>
114<dd>a character string that represents the image format we are looking for. </dd>
115
116<dd>  </dd>
117</dl>
118<h2><a href="../../api/MagickCore/module_8c.html" id="DestroyModuleList">DestroyModuleList</a></h2>
119
120<p>DestroyModuleList() unregisters any previously loaded modules and exits the module loaded environment.</p>
121
122<p>The format of the DestroyModuleList module is:</p>
123
124<pre class="text">
125void DestroyModuleList(void)
126</pre>
127
128<h2><a href="../../api/MagickCore/module_8c.html" id="GetModuleInfo">GetModuleInfo</a></h2>
129
130<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>
131
132<p>The format of the GetModuleInfo module is:</p>
133
134<pre class="text">
135ModuleInfo *GetModuleInfo(const char *tag,ExceptionInfo *exception)
136</pre>
137
138<p>A description of each parameter follows:</p>
139
140<dd>
141</dd>
142
143<dd> </dd>
144<dl class="dl-horizontal">
145<dt>tag</dt>
146<dd>a character string that represents the image format we are looking for. </dd>
147
148<dd> </dd>
149<dt>exception</dt>
150<dd>return any errors or warnings in this structure. </dd>
151
152<dd>  </dd>
153</dl>
154<h2><a href="../../api/MagickCore/module_8c.html" id="GetModuleInfoList">GetModuleInfoList</a></h2>
155
156<p>GetModuleInfoList() returns any modules that match the specified pattern.</p>
157
158<p>The format of the GetModuleInfoList function is:</p>
159
160<pre class="text">
161const ModuleInfo **GetModuleInfoList(const char *pattern,
162  size_t *number_modules,ExceptionInfo *exception)
163</pre>
164
165<p>A description of each parameter follows:</p>
166
167<dd>
168</dd>
169
170<dd> </dd>
171<dl class="dl-horizontal">
172<dt>pattern</dt>
173<dd>Specifies a pointer to a text string containing a pattern. </dd>
174
175<dd> </dd>
176<dt>number_modules</dt>
177<dd> This integer returns the number of modules in the list. </dd>
178
179<dd> </dd>
180<dt>exception</dt>
181<dd>return any errors or warnings in this structure. </dd>
182
183<dd>  </dd>
184</dl>
185<h2><a href="../../api/MagickCore/module_8c.html" id="GetModuleList">GetModuleList</a></h2>
186
187<p>GetModuleList() returns any image format modules that match the specified pattern.</p>
188
189<p>The format of the GetModuleList function is:</p>
190
191<pre class="text">
192char **GetModuleList(const char *pattern,const MagickModuleType type,
193  size_t *number_modules,ExceptionInfo *exception)
194</pre>
195
196<p>A description of each parameter follows:</p>
197
198<dd>
199</dd>
200
201<dd> </dd>
202<dl class="dl-horizontal">
203<dt>pattern</dt>
204<dd>Specifies a pointer to a text string containing a pattern. </dd>
205
206<dd> </dd>
207<dt>type</dt>
208<dd>choose from MagickImageCoderModule or MagickImageFilterModule. </dd>
209
210<dd> </dd>
211<dt>number_modules</dt>
212<dd> This integer returns the number of modules in the list. </dd>
213
214<dd> </dd>
215<dt>exception</dt>
216<dd>return any errors or warnings in this structure. </dd>
217
218<dd>  </dd>
219</dl>
220<h2><a href="../../api/MagickCore/module_8c.html" id="GetMagickModulePath">GetMagickModulePath</a></h2>
221
222<p>GetMagickModulePath() finds a module with the specified module type and filename.</p>
223
224<p>The format of the GetMagickModulePath module is:</p>
225
226<pre class="text">
227MagickBooleanType GetMagickModulePath(const char *filename,
228  MagickModuleType module_type,char *path,ExceptionInfo *exception)
229</pre>
230
231<p>A description of each parameter follows:</p>
232
233<dd>
234</dd>
235
236<dd> </dd>
237<dl class="dl-horizontal">
238<dt>filename</dt>
239<dd>the module file name. </dd>
240
241<dd> </dd>
242<dt>module_type</dt>
243<dd>the module type: MagickImageCoderModule or MagickImageFilterModule. </dd>
244
245<dd> </dd>
246<dt>path</dt>
247<dd>the path associated with the filename. </dd>
248
249<dd> </dd>
250<dt>exception</dt>
251<dd>return any errors or warnings in this structure. </dd>
252
253<dd>  </dd>
254</dl>
255<h2><a href="../../api/MagickCore/module_8c.html" id="IsModuleTreeInstantiated">IsModuleTreeInstantiated</a></h2>
256
257<p>IsModuleTreeInstantiated() determines if the module tree is instantiated. If not, it instantiates the tree and returns it.</p>
258
259<p>The format of the IsModuleTreeInstantiated() method is:</p>
260
261<pre class="text">
262IsModuleTreeInstantiated()
263</pre>
264
265<h2><a href="../../api/MagickCore/module_8c.html" id="InvokeDynamicImageFilter">InvokeDynamicImageFilter</a></h2>
266
267<p>InvokeDynamicImageFilter() invokes a dynamic image filter.</p>
268
269<p>The format of the InvokeDynamicImageFilter module is:</p>
270
271<pre class="text">
272MagickBooleanType InvokeDynamicImageFilter(const char *tag,Image **image,
273  const int argc,const char **argv,ExceptionInfo *exception)
274</pre>
275
276<p>A description of each parameter follows:</p>
277
278<dd>
279</dd>
280
281<dd> </dd>
282<dl class="dl-horizontal">
283<dt>tag</dt>
284<dd>a character string that represents the name of the particular module. </dd>
285
286<dd> </dd>
287<dt>image</dt>
288<dd>the image. </dd>
289
290<dd> </dd>
291<dt>argc</dt>
292<dd>a pointer to an integer describing the number of elements in the argument vector. </dd>
293
294<dd> </dd>
295<dt>argv</dt>
296<dd>a pointer to a text array containing the command line arguments. </dd>
297
298<dd> </dd>
299<dt>exception</dt>
300<dd>return any errors or warnings in this structure. </dd>
301
302<dd>  </dd>
303</dl>
304<h2><a href="../../api/MagickCore/module_8c.html" id="ListModuleInfo">ListModuleInfo</a></h2>
305
306<p>ListModuleInfo() lists the module info to a file.</p>
307
308<p>The format of the ListModuleInfo module is:</p>
309
310<pre class="text">
311MagickBooleanType ListModuleInfo(FILE *file,ExceptionInfo *exception)
312</pre>
313
314<p>A description of each parameter follows.</p>
315
316<dt>file</dt>
317<p>An pointer to a FILE.</p>
318
319<dt>exception</dt>
320<p>return any errors or warnings in this structure.</p>
321
322<h2><a href="../../api/MagickCore/module_8c.html" id="OpenModule">OpenModule</a></h2>
323
324<p>OpenModule() loads a module, and invokes its registration module.  It returns MagickTrue on success, and MagickFalse if there is an error.</p>
325
326<p>The format of the OpenModule module is:</p>
327
328<pre class="text">
329MagickBooleanType OpenModule(const char *module,ExceptionInfo *exception)
330</pre>
331
332<p>A description of each parameter follows:</p>
333
334<dd>
335</dd>
336
337<dd> </dd>
338<dl class="dl-horizontal">
339<dt>module</dt>
340<dd>a character string that indicates the module to load. </dd>
341
342<dd> </dd>
343<dt>exception</dt>
344<dd>return any errors or warnings in this structure. </dd>
345
346<dd>  </dd>
347</dl>
348<h2><a href="../../api/MagickCore/module_8c.html" id="OpenModules">OpenModules</a></h2>
349
350<p>OpenModules() loads all available modules.</p>
351
352<p>The format of the OpenModules module is:</p>
353
354<pre class="text">
355MagickBooleanType OpenModules(ExceptionInfo *exception)
356</pre>
357
358<p>A description of each parameter follows:</p>
359
360<dd>
361</dd>
362
363<dd> </dd>
364<dl class="dl-horizontal">
365<dt>exception</dt>
366<dd>return any errors or warnings in this structure. </dd>
367
368<dd>  </dd>
369</dl>
370<h2><a href="../../api/MagickCore/module_8c.html" id="RegisterModule">RegisterModule</a></h2>
371
372<p>RegisterModule() adds an entry to the module list.  It returns a pointer to the registered entry on success.</p>
373
374<p>The format of the RegisterModule module is:</p>
375
376<pre class="text">
377ModuleInfo *RegisterModule(const ModuleInfo *module_info,
378  ExceptionInfo *exception)
379</pre>
380
381<p>A description of each parameter follows:</p>
382
383<dd>
384</dd>
385
386<dd> </dd>
387<dl class="dl-horizontal">
388<dt>info</dt>
389<dd>a pointer to the registered entry is returned. </dd>
390
391<dd> </dd>
392<dt>module_info</dt>
393<dd>a pointer to the ModuleInfo structure to register. </dd>
394
395<dd> </dd>
396<dt>exception</dt>
397<dd>return any errors or warnings in this structure. </dd>
398
399<dd>  </dd>
400</dl>
401<h2><a href="../../api/MagickCore/module_8c.html" id="TagToCoderModuleName">TagToCoderModuleName</a></h2>
402
403<p>TagToCoderModuleName() munges a module tag and obtains the filename of the corresponding module.</p>
404
405<p>The format of the TagToCoderModuleName module is:</p>
406
407<pre class="text">
408char *TagToCoderModuleName(const char *tag,char *name)
409</pre>
410
411<p>A description of each parameter follows:</p>
412
413<dd>
414</dd>
415
416<dd> </dd>
417<dl class="dl-horizontal">
418<dt>tag</dt>
419<dd>a character string representing the module tag. </dd>
420
421<dd> </dd>
422<dt>name</dt>
423<dd>return the module name here. </dd>
424
425<dd>  </dd>
426</dl>
427<h2><a href="../../api/MagickCore/module_8c.html" id="TagToFilterModuleName">TagToFilterModuleName</a></h2>
428
429<p>TagToFilterModuleName() munges a module tag and returns the filename of the corresponding filter module.</p>
430
431<p>The format of the TagToFilterModuleName module is:</p>
432
433<pre class="text">
434void TagToFilterModuleName(const char *tag,char name)
435</pre>
436
437<p>A description of each parameter follows:</p>
438
439<dd>
440</dd>
441
442<dd> </dd>
443<dl class="dl-horizontal">
444<dt>tag</dt>
445<dd>a character string representing the module tag. </dd>
446
447<dd> </dd>
448<dt>name</dt>
449<dd>return the filter name here. </dd>
450
451<dd>  </dd>
452</dl>
453<h2><a href="../../api/MagickCore/module_8c.html" id="TagToModuleName">TagToModuleName</a></h2>
454
455<p>TagToModuleName() munges the module tag name and returns an upper-case tag name as the input string, and a user-provided format.</p>
456
457<p>The format of the TagToModuleName module is:</p>
458
459<pre class="text">
460TagToModuleName(const char *tag,const char *format,char *module)
461</pre>
462
463<p>A description of each parameter follows:</p>
464
465<dd>
466</dd>
467
468<dd> </dd>
469<dl class="dl-horizontal">
470<dt>tag</dt>
471<dd>the module tag. </dd>
472
473<dd> </dd>
474<dt>format</dt>
475<dd>a sprintf-compatible format string containing s where the upper-case tag name is to be inserted. </dd>
476
477<dd> </dd>
478<dt>module</dt>
479<dd>pointer to a destination buffer for the formatted result. </dd>
480
481<dd>  </dd>
482</dl>
483<h2><a href="../../api/MagickCore/module_8c.html" id="UnregisterModule">UnregisterModule</a></h2>
484
485<p>UnregisterModule() unloads a module, and invokes its de-registration module. Returns MagickTrue on success, and MagickFalse if there is an error.</p>
486
487<p>The format of the UnregisterModule module is:</p>
488
489<pre class="text">
490MagickBooleanType UnregisterModule(const ModuleInfo *module_info,
491  ExceptionInfo *exception)
492</pre>
493
494<p>A description of each parameter follows:</p>
495
496<dd>
497</dd>
498
499<dd> </dd>
500<dl class="dl-horizontal">
501<dt>module_info</dt>
502<dd>the module info. </dd>
503
504<dd> </dd>
505<dt>exception</dt>
506<dd>return any errors or warnings in this structure. </dd>
507
508<dd>  </dd>
509</dl>
510</div>
511    </div>
512  </main><!-- /.container -->
513  <footer class="magick-footer">
514    <p><a href="../www/security-policy.html">Security</a> •
515    <a href="../www/architecture.html">Architecture</a>
516
517    <a href="module.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico"/></a>
518
519    <a href="../www/links.html">Related</a> •
520     <a href="../www/sitemap.html">Sitemap</a>
521    <br/>
522    <a href="../www/support.html">Donate</a> •
523    <a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
524    <a href="../www/contact.html">Contact Us</a>
525    <br/>
526    <small>© 1999-2020 ImageMagick Studio LLC</small></p>
527  </footer>
528
529  <!-- Javascript assets -->
530  <script src="assets/magick.js" crossorigin="anonymous"></script>
531  <script>window.jQuery || document.write('<script src="https://localhost/ajax/libs/jquery/3.4.1/jquery.min.js"><\/script>')</script>
532</body>
533</html>
534<!-- Magick Cache 2nd January 2020 22:03 -->