Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 17a4efe3fb04e76b02ea649ea64a3862 > files > 913

imagemagick-doc-6.8.7.0-2.1.mga4.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="-//W3C//DTD XHTML 1.1//EN" xml:lang="en" xsi:schemaLocation="http://www.w3.org/1999/xhtml                           http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4"></meta>
  <title>ImageMagick: MagickCore, C API for ImageMagick: Memory Allocation</title>
  <meta http-equiv="content-language" content="en-US"></meta>
  <meta http-equiv="content-type" content="text/html; charset=utf-8"></meta>
  <meta http-equiv="reply-to" content="magick-users@imagemagick.org"></meta>
  <meta name="application-name" content="ImageMagick"></meta>
  <meta name="description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition, resize, rotate, shear, distort or transform images automagically."></meta>
  <meta name="application-url" content="http://www.imagemagick.org"></meta>
  <meta name="generator" content="PHP"></meta>
  <meta name="keywords" content="magickcore, c, api, for, imagemagick:, memory, allocation, ImageMagick, PerlMagick, image processing, OpenMP, software development library, image, photo, software, Magick++, MagickWand"></meta>
  <meta name="rating" content="GENERAL"></meta>
  <meta name="robots" content="INDEX, FOLLOW"></meta>
  <meta name="generator" content="ImageMagick Studio LLC"></meta>
  <meta name="author" content="ImageMagick Studio LLC"></meta>
  <meta name="revisit-after" content="2 DAYS"></meta>
  <meta name="resource-type" content="document"></meta>
  <meta name="copyright" content="Copyright (c) 1999-2012 ImageMagick Studio LLC"></meta>
  <meta name="distribution" content="Global"></meta>
  <link rel="icon" href="../../images/wand.png"></link>
  <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"></link>
  <link rel="canonical" href="../../index.html"></link>
  <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"></link>

  <!-- Add jQuery library -->
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
  
  <!-- Add mousewheel plugin (this is optional) -->
  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script>
  
  <!-- Add fancyBox -->
  <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/jquery.fancybox.css?v=2.0.6" type="text/css" media="screen"></link>
  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/jquery.fancybox.pack.js?v=2.0.6"></script>
  
  <!-- Optionally add helpers - button, thumbnail and/or media -->
  <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.2" type="text/css" media="screen"></link>
  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.2"></script>
  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.0"></script>
  
  <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=2.0.6" type="text/css" media="screen"></link>
  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=2.0.6"></script>
  
  <script type="text/javascript">
  	$(document).ready(function() {
  		$(".fancybox").fancybox();
  	});
  </script>

  <!-- ImageMagick style -->
  <style type="text/css" media="all">
    @import url("../../www/magick.css");
  </style>
</head>

<body id="www-imagemagick-org">



<div class="titlebar">
<div style="margin: 17px auto; float: left;">
  <script type="text/javascript">
  <!--
    google_ad_client = "pub-3129977114552745";
    google_ad_slot = "5439289906";
    google_ad_width = 728;
    google_ad_height = 90;
  //-->
  </script>
  
</div>
<a href="../../discourse-server">
  <img src="../../images/logo.jpg" alt="ImageMagick Logo" style="width: 123px; height: 118px; border: 0px; float: right;"></img></a>
<a href="../../index.html">
  <img src="../../images/sprite.jpg" alt="ImageMagick Sprite" style="width: 114px; height: 118px; border: 0px; float: right;"></img></a>
</div>

<div class="westbar">

<div class="menu">
  <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
</div>
<div class="menu">
  <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
</div>
<div class="sub">
    <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
</div>
<div class="sub">
    <a title="Binary Release: iOS" href="../../www/binary-releases.html#iOS">iOS</a>
</div>
<div class="sub">
    <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
</div>
<div class="menu">
  <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
</div>
<div class="sub">
    <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
</div>
<div class="sub">
    <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
</div>
<div class="sep"></div>
<div class="menu">
   <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
</div>
<div class="sub">
    <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
 </div>
<div class="menu">
  <a title="Resources" href="../../www/resources.html">Resources</a>
</div>
<div class="menu">
  <a title="Architecture" href="../../www/architecture.html">Architecture</a>
</div>
<div class="menu">
  <a title="Download" href="../../www/download.html">Download</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Search" href="http://www.imagemagick.org/script/search.php">Search</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
</div>
<div class="sub">
  <a title="Site Map: Links" href="../../www/links.html">Links</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Support ImageMagick Development" href="../../www/support.html">Support ImageMagick Development</a>
</div>
</div>

<div class="eastbar">
  
  <div> <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="../../index.html"></a></div>
  <noscript>
    <a href="http://flattr.com/thing/947300/Convert-Edit-And-Compose-Images" target="_blank">
    <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" width="93" height="20" border="0"></img></a>
  </noscript>
    
    
</div>

<div class="main">

<h1>Module memory Methods</h1>
<p class="navigation-index">[<a href="memory.html#AcquireAlignedMemory">AcquireAlignedMemory</a> • <a href="memory.html#AcquireMagickMemory">AcquireMagickMemory</a> • <a href="memory.html#AcquireQuantumMemory">AcquireQuantumMemory</a> • <a href="memory.html#AcquireVirtualMemory">AcquireVirtualMemory</a> • <a href="memory.html#CopyMagickMemory">CopyMagickMemory</a> • <a href="memory.html#GetMagickMemoryMethods">GetMagickMemoryMethods</a> • <a href="memory.html#GetVirtualMemoryBlob">GetVirtualMemoryBlob</a> • <a href="memory.html#RelinquishAlignedMemory">RelinquishAlignedMemory</a> • <a href="memory.html#RelinquishMagickMemory">RelinquishMagickMemory</a> • <a href="memory.html#RelinquishVirtualMemory">RelinquishVirtualMemory</a> • <a href="memory.html#ResetMagickMemory">ResetMagickMemory</a> • <a href="memory.html#ResizeMagickMemory">ResizeMagickMemory</a> • <a href="memory.html#ResizeQuantumMemory">ResizeQuantumMemory</a> • <a href="memory.html#SetMagickMemoryMethods">SetMagickMemoryMethods</a>]</p>

<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="AcquireAlignedMemory">AcquireAlignedMemory</a></h2>
<div class="doc-section">

<p>AcquireAlignedMemory() returns a pointer to a block of memory at least size bytes whose address is a multiple of 16*sizeof(void *).</p>

<p>The format of the AcquireAlignedMemory method is:</p>

<pre class="code">
  void *AcquireAlignedMemory(const size_t count,const size_t quantum)
</pre>

<p>A description of each parameter follows:</p>

<h5>count</h5>
<p>the number of quantum elements to allocate.</p>

<h5>quantum</h5>
<p>the number of bytes in each quantum.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="AcquireMagickMemory">AcquireMagickMemory</a></h2>
<div class="doc-section">

<p>AcquireMagickMemory() returns a pointer to a block of memory at least size bytes suitably aligned for any use.</p>

<p>The format of the AcquireMagickMemory method is:</p>

<pre class="code">
  void *AcquireMagickMemory(const size_t size)
</pre>

<p>A description of each parameter follows:</p>

<h5>size</h5>
<p>the size of the memory in bytes to allocate.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="AcquireQuantumMemory">AcquireQuantumMemory</a></h2>
<div class="doc-section">

<p>AcquireQuantumMemory() returns a pointer to a block of memory at least count * quantum bytes suitably aligned for any use.</p>

<p>The format of the AcquireQuantumMemory method is:</p>

<pre class="code">
  void *AcquireQuantumMemory(const size_t count,const size_t quantum)
</pre>

<p>A description of each parameter follows:</p>

<h5>count</h5>
<p>the number of quantum elements to allocate.</p>

<h5>quantum</h5>
<p>the number of bytes in each quantum.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="AcquireVirtualMemory">AcquireVirtualMemory</a></h2>
<div class="doc-section">

<p>AcquireVirtualMemory() allocates a pointer to a block of memory at least size bytes suitably aligned for any use.</p>

<p>The format of the AcquireVirtualMemory method is:</p>

<pre class="code">
  MemoryInfo *AcquireVirtualMemory(const size_t count,const size_t quantum)
</pre>

<p>A description of each parameter follows:</p>

<h5>count</h5>
<p>the number of quantum elements to allocate.</p>

<h5>quantum</h5>
<p>the number of bytes in each quantum.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="CopyMagickMemory">CopyMagickMemory</a></h2>
<div class="doc-section">

<p>CopyMagickMemory() copies size bytes from memory area source to the destination.  Copying between objects that overlap will take place correctly.  It returns destination.</p>

<p>The format of the CopyMagickMemory method is:</p>

<pre class="code">
  void *CopyMagickMemory(void *destination,const void *source,
    const size_t size)
</pre>

<p>A description of each parameter follows:</p>

<h5>destination</h5>
<p>the destination.</p>

<h5>source</h5>
<p>the source.</p>

<h5>size</h5>
<p>the size of the memory in bytes to allocate.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="GetMagickMemoryMethods">GetMagickMemoryMethods</a></h2>
<div class="doc-section">

<p>GetMagickMemoryMethods() gets the methods to acquire, resize, and destroy memory.</p>

<p>The format of the GetMagickMemoryMethods() method is:</p>

<pre class="code">
  void GetMagickMemoryMethods(AcquireMemoryHandler *acquire_memory_handler,
    ResizeMemoryHandler *resize_memory_handler,
    DestroyMemoryHandler *destroy_memory_handler)
</pre>

<p>A description of each parameter follows:</p>

<h5>acquire_memory_handler</h5>
<p>method to acquire memory (e.g. malloc).</p>

<h5>resize_memory_handler</h5>
<p>method to resize memory (e.g. realloc).</p>

<h5>destroy_memory_handler</h5>
<p>method to destroy memory (e.g. free).</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="GetVirtualMemoryBlob">GetVirtualMemoryBlob</a></h2>
<div class="doc-section">

<p>GetVirtualMemoryBlob() returns the virtual memory blob associated with the specified MemoryInfo structure.</p>

<p>The format of the GetVirtualMemoryBlob method is:</p>

<pre class="code">
  void *GetVirtualMemoryBlob(const MemoryInfo *memory_info)
</pre>

<p>A description of each parameter follows:</p>

<h5>memory_info</h5>
<p>The MemoryInfo structure. </p>
 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="RelinquishAlignedMemory">RelinquishAlignedMemory</a></h2>
<div class="doc-section">

<p>RelinquishAlignedMemory() frees memory acquired with AcquireAlignedMemory() or reuse.</p>

<p>The format of the RelinquishAlignedMemory method is:</p>

<pre class="code">
  void *RelinquishAlignedMemory(void *memory)
</pre>

<p>A description of each parameter follows:</p>

<h5>memory</h5>
<p>A pointer to a block of memory to free for reuse.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="RelinquishMagickMemory">RelinquishMagickMemory</a></h2>
<div class="doc-section">

<p>RelinquishMagickMemory() frees memory acquired with AcquireMagickMemory() or AcquireQuantumMemory() for reuse.</p>

<p>The format of the RelinquishMagickMemory method is:</p>

<pre class="code">
  void *RelinquishMagickMemory(void *memory)
</pre>

<p>A description of each parameter follows:</p>

<h5>memory</h5>
<p>A pointer to a block of memory to free for reuse.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="RelinquishVirtualMemory">RelinquishVirtualMemory</a></h2>
<div class="doc-section">

<p>RelinquishVirtualMemory() frees memory acquired with AcquireVirtualMemory().</p>

<p>The format of the RelinquishVirtualMemory method is:</p>

<pre class="code">
  MemoryInfo *RelinquishVirtualMemory(MemoryInfo *memory_info)
</pre>

<p>A description of each parameter follows:</p>

<h5>memory_info</h5>
<p>A pointer to a block of memory to free for reuse.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="ResetMagickMemory">ResetMagickMemory</a></h2>
<div class="doc-section">

<p>ResetMagickMemory() fills the first size bytes of the memory area pointed to by memory with the constant byte c.</p>

<p>The format of the ResetMagickMemory method is:</p>

<pre class="code">
  void *ResetMagickMemory(void *memory,int byte,const size_t size)
</pre>

<p>A description of each parameter follows:</p>

<h5>memory</h5>
<p>a pointer to a memory allocation.</p>

<h5>byte</h5>
<p>set the memory to this value.</p>

<h5>size</h5>
<p>size of the memory to reset.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="ResizeMagickMemory">ResizeMagickMemory</a></h2>
<div class="doc-section">

<p>ResizeMagickMemory() changes the size of the memory and returns a pointer to the (possibly moved) block.  The contents will be unchanged up to the lesser of the new and old sizes.</p>

<p>The format of the ResizeMagickMemory method is:</p>

<pre class="code">
  void *ResizeMagickMemory(void *memory,const size_t size)
</pre>

<p>A description of each parameter follows:</p>

<h5>memory</h5>
<p>A pointer to a memory allocation.</p>

<h5>size</h5>
<p>the new size of the allocated memory.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="ResizeQuantumMemory">ResizeQuantumMemory</a></h2>
<div class="doc-section">

<p>ResizeQuantumMemory() changes the size of the memory and returns a pointer to the (possibly moved) block.  The contents will be unchanged up to the lesser of the new and old sizes.</p>

<p>The format of the ResizeQuantumMemory method is:</p>

<pre class="code">
  void *ResizeQuantumMemory(void *memory,const size_t count,
    const size_t quantum)
</pre>

<p>A description of each parameter follows:</p>

<h5>memory</h5>
<p>A pointer to a memory allocation.</p>

<h5>count</h5>
<p>the number of quantum elements to allocate.</p>

<h5>quantum</h5>
<p>the number of bytes in each quantum.</p>

 </div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/memory_8c.html" id="SetMagickMemoryMethods">SetMagickMemoryMethods</a></h2>
<div class="doc-section">

<p>SetMagickMemoryMethods() sets the methods to acquire, resize, and destroy memory. Your custom memory methods must be set prior to the MagickCoreGenesis() method.</p>

<p>The format of the SetMagickMemoryMethods() method is:</p>

<pre class="code">
  SetMagickMemoryMethods(AcquireMemoryHandler acquire_memory_handler,
    ResizeMemoryHandler resize_memory_handler,
    DestroyMemoryHandler destroy_memory_handler)
</pre>

<p>A description of each parameter follows:</p>

<h5>acquire_memory_handler</h5>
<p>method to acquire memory (e.g. malloc).</p>

<h5>resize_memory_handler</h5>
<p>method to resize memory (e.g. realloc).</p>

<h5>destroy_memory_handler</h5>
<p>method to destroy memory (e.g. free).</p>

 </div>

</div>

<div id="linkbar">
    <span id="linkbar-west"> </span>

    <span id="linkbar-center">
      <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
      <a href="../../discourse-server">Discourse Server</a> •
      <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a> •
      <a href="http://jqmagick.imagemagick.org/">JqMagick</a>
    </span>
    <span id="linkbar-east"> </span>
</div>
<div class="footer">
  <span id="footer-west">©  1999-2013 ImageMagick Studio LLC</span>
  <span id="footer-east"> <a href="../../www/contact.html">Contact the Wizards</a></span>
</div>
<div style="clear: both; margin: 0; width: 100%; "></div>
</body>
</html>