imagemagick/www/api/property.html

419 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no" />
<title>ImageMagick - MagickCore, C API: Get/Set Image Properties</title>
<meta name="application-name" content="ImageMagick" />
<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." />
<meta name="application-url" content="https://imagemagick.org" />
<meta name="generator" content="PHP" />
<meta name="keywords" content="magickcore, c, api:, get/set, image, properties, image converter, image resizer, image editor, photo editor, jpg converter, png converter, tiff converter, vector images, online, free, swiss army" />
<meta name="rating" content="GENERAL" />
<meta name="robots" content="INDEX, FOLLOW" />
<meta name="generator" content="ImageMagick Studio LLC" />
<meta name="author" content="ImageMagick Studio LLC" />
<meta name="revisit-after" content="2 DAYS" />
<meta name="resource-type" content="document" />
<meta name="copyright" content="Copyright (c) 1999-2020 ImageMagick Studio LLC" />
<meta name="distribution" content="Global" />
<meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
<meta property='og:url' content='../../' />
<meta property='og:title' content='ImageMagick' />
<meta property='og:image' content='../../../../../images/logo.png' />
<meta property='og:type' content='website' />
<meta property='og:site_name' content='ImageMagick' />
<meta property='og:description' content="Create, Edit, Compose, or Convert Bitmap Images" />
<meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
<link href="../../api/property.html" rel="canonical" />
<link href="../../../../images/wand.png" rel="icon" />
<link href="../../../../images/wand.ico" rel="shortcut icon" />
<link href="../assets/magick.css" rel="stylesheet" />
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="../index.html"><img class="d-block" id="wand" alt="ImageMagick" width="32" height="32" src="../../../../images/wand.ico"/></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsMagick" aria-controls="navbarsMagick" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse" id="navbarsMagick" style="">
<ul class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link" href="../index.html">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../www/download.html">Download</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../www/command-line-tools.html">Tools</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../www/command-line-processing.html">Command-line</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../www/develop.html">Develop</a>
</li>
<li class="nav-item">
<a class="nav-link" target="_blank" href="https://github.com/ImageMagick/ImageMagick6/discussions">Community</a>
</li>
<li class="nav-item">
<iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
</li>
</ul>
</div>
<form class="form-inline my-2 my-lg-0" action="https://legacy.imagemagick.org/script/search.php">
<input class="form-control mr-sm-2" type="text" name="q" placeholder="Search" aria-label="Search" />
<button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="sa">Search</button>
</form>
</nav>
<div role="main" class="container">
<script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-3129977114552745"
data-ad-slot="6345125851"
data-full-width-responsive="true"
data-ad-format="horizontal"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
<main class="container">
<div class="magick-template">
<div class="magick-header">
<p class="text-center"><a href="property.html#CloneImageProperties">CloneImageProperties</a> &#8226; <a href="property.html#DefineImageProperty">DefineImageProperty</a> &#8226; <a href="property.html#DeleteImageProperty">DeleteImageProperty</a> &#8226; <a href="property.html#DestroyImageProperties">DestroyImageProperties</a> &#8226; <a href="property.html#FormatImageProperty">FormatImageProperty</a> &#8226; <a href="property.html#GetImageProperty">GetImageProperty</a> &#8226; <a href="property.html#GetNextImageProperty">GetNextImageProperty</a> &#8226; <a href="property.html#InterpretImageProperties">InterpretImageProperties</a> &#8226; <a href="property.html#RemoveImageProperty">RemoveImageProperty</a> &#8226; <a href="property.html#ResetImagePropertyIterator">ResetImagePropertyIterator</a> &#8226; <a href="property.html#SetImageProperty">SetImageProperty</a></p>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="CloneImageProperties">CloneImageProperties</a></h2>
<p>CloneImageProperties() clones all the image properties to another image.</p>
<p>The format of the CloneImageProperties method is:</p>
<pre class="text">
MagickBooleanType CloneImageProperties(Image *image,
const Image *clone_image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>clone_image</dt>
<dd>the clone image. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="DefineImageProperty">DefineImageProperty</a></h2>
<p>DefineImageProperty() associates an assignment string of the form "key=value" with an artifact or options. It is equivelent to SetImageProperty().</p>
<p>The format of the DefineImageProperty method is:</p>
<pre class="text">
MagickBooleanType DefineImageProperty(Image *image,
const char *property)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>property</dt>
<dd>the image property. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="DeleteImageProperty">DeleteImageProperty</a></h2>
<p>DeleteImageProperty() deletes an image property.</p>
<p>The format of the DeleteImageProperty method is:</p>
<pre class="text">
MagickBooleanType DeleteImageProperty(Image *image,const char *property)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>property</dt>
<dd>the image property. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="DestroyImageProperties">DestroyImageProperties</a></h2>
<p>DestroyImageProperties() destroys all properties and associated memory attached to the given image.</p>
<p>The format of the DestroyDefines method is:</p>
<pre class="text">
void DestroyImageProperties(Image *image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="FormatImageProperty">FormatImageProperty</a></h2>
<p>FormatImageProperty() permits formatted property/value pairs to be saved as an image property.</p>
<p>The format of the FormatImageProperty method is:</p>
<pre class="text">
MagickBooleanType FormatImageProperty(Image *image,const char *property,
const char *format,...)
</pre>
<p>A description of each parameter follows.</p>
<dt> image</dt>
<p>The image.</p>
<dt> property</dt>
<p>The attribute property.</p>
<dt> format</dt>
<p>A string describing the format to use to write the remaining arguments.</p>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="GetImageProperty">GetImageProperty</a></h2>
<p>GetImageProperty() gets a value associated with an image property.</p>
<p>This includes, profile prefixes, such as "exif:", "iptc:" and "8bim:" It does not handle non-prifile prefixes, such as "fx:", "option:", or "artifact:".</p>
<p>The returned string is stored as a properity of the same name for faster lookup later. It should NOT be freed by the caller.</p>
<p>The format of the GetImageProperty method is:</p>
<pre class="text">
const char *GetImageProperty(const Image *image,const char *key)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>key</dt>
<dd>the key. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="GetNextImageProperty">GetNextImageProperty</a></h2>
<p>GetNextImageProperty() gets the next free-form string property name.</p>
<p>The format of the GetNextImageProperty method is:</p>
<pre class="text">
char *GetNextImageProperty(const Image *image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="InterpretImageProperties">InterpretImageProperties</a></h2>
<p>InterpretImageProperties() replaces any embedded formatting characters with the appropriate image property and returns the interpreted text.</p>
<p>This searches for and replaces \n \r \ replaced by newline, return, and percent resp. &amp;lt; &amp;gt; &amp;amp; replaced by '&lt;', '&gt;', '&amp;' resp. replaced by percent</p>
<p>x [x] where 'x' is a single letter properity, case sensitive). [type:name] where 'type' a is special and known prefix. [name] where 'name' is a specifically known attribute, calculated value, or a per-image property string name, or a per-image 'artifact' (as generated from a global option). It may contain ':' as long as the prefix is not special.</p>
<p>Single letter substitutions will only happen if the character before the percent is NOT a number. But braced substitutions will always be performed. This prevents the typical usage of percent in a interpreted geometry argument from being substituted when the percent is a geometry flag.</p>
<p>If 'glob-expresions' ('*' or '?' characters) is used for 'name' it may be used as a search pattern to print multiple lines of "name=value\n" pairs of the associacted set of properities.</p>
<p>The returned string must be freed using DestoryString() by the caller.</p>
<p>The format of the InterpretImageProperties method is:</p>
<pre class="text">
char *InterpretImageProperties(const ImageInfo *image_info,Image *image,
const char *embed_text)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image_info</dt>
<dd>the image info. </dd>
<dd> </dd>
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>embed_text</dt>
<dd>the address of a character string containing the embedded formatting characters. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="RemoveImageProperty">RemoveImageProperty</a></h2>
<p>RemoveImageProperty() removes a property from the image and returns its value.</p>
<p>In this case the ConstantString() value returned should be freed by the caller when finished.</p>
<p>The format of the RemoveImageProperty method is:</p>
<pre class="text">
char *RemoveImageProperty(Image *image,const char *property)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>property</dt>
<dd>the image property. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="ResetImagePropertyIterator">ResetImagePropertyIterator</a></h2>
<p>ResetImagePropertyIterator() resets the image properties iterator. Use it in conjunction with GetNextImageProperty() to iterate over all the values associated with an image property.</p>
<p>The format of the ResetImagePropertyIterator method is:</p>
<pre class="text">
ResetImagePropertyIterator(Image *image)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
</dl>
<h2><a href="https://legacy.imagemagick.org/api/MagickCore/property_8c.html" id="SetImageProperty">SetImageProperty</a></h2>
<p>SetImageProperty() saves the given string value either to specific known attribute or to a freeform property string.</p>
<p>The format of the SetImageProperty method is:</p>
<pre class="text">
MagickBooleanType SetImageProperty(Image *image,const char *property,
const char *value)
</pre>
<p>A description of each parameter follows:</p>
<dd>
</dd>
<dd> </dd>
<dl class="dl-horizontal">
<dt>image</dt>
<dd>the image. </dd>
<dd> </dd>
<dt>property</dt>
<dd>the image property. </dd>
<dd> </dd>
<dt>values</dt>
<dd>the image property values. </dd>
<dd> </dd>
</dl>
</div>
</div>
</main><!-- /.container -->
<footer class="magick-footer">
<div class="container">
<p><a href="https://legacy.imagemagick.org/www/security-policy.html">Security</a>
<a href="https://legacy.imagemagick.org/www/resources.html">Resources</a>
<a href="property.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../../../../images/wand.ico"/></a>
<a href="https://legacy.imagemagick.org/www/links.html">Related</a>
<a href="https://legacy.imagemagick.org/www/sitemap.html">Sitemap</a>
<br/>
<a href="https://legacy.imagemagick.org/www/support.html">Sponsor</a>
<a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a>
<a href="https://legacy.imagemagick.org/www/contact.html">Contact Us</a>
<br/>
<a href="https://github.com/imagemagick/imagemagick6" target="_blank" rel="noopener" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 499.36" width="2%" height="2%" role="img" focusable="false"><title>GitHub</title><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg></a>
<a href="https://twitter.com/imagemagick" target="_blank" rel="noopener" aria-label="Twitter"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 416.32" width="2%" height="2%" role="img" focusable="false"><title>Twitter</title><path fill="currentColor" d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92"/></svg></a>
<br/>
<small>© 1999-2020 ImageMagick Studio LLC</small></p>
</div>
</footer>
<!-- Javascript assets -->
<script>window.jQuery || document.write('&lt;script src="assets/jquery.slim.min.js"&gt;&lt;\/script&gt;')</script><script src="assets/bootstrap.bundle.min.js" crossorigin="anonymous" />
</body>
</html>
<!-- Magick Cache 30th July 2020 12:24 -->