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