1 2 3 4 5<!DOCTYPE html> 6<html lang="en"> 7<head> 8 <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" /> 9 <title>ImageMagick: MagickCore, C API for ImageMagick: Dealing with Image Profiles</title> 10 <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 11 <meta name="application-name" content="ImageMagick"/> 12 <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves."/> 13 <meta name="application-url" content="http://www.imagemagick.org"/> 14 <meta name="generator" content="PHP"/> 15 <meta name="keywords" content="magickcore, c, api, for, imagemagick:, dealing, with, image, profiles, 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-2016 ImageMagick Studio LLC"/> 23 <meta name="distribution" content="Global"/> 24 <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/> 25 <link rel="icon" href="../image/wand.png"/> 26 <link rel="shortcut icon" href="../image/wand.ico"/> 27 <link rel="stylesheet" href="../css/magick.php"/> 28</head> 29<body> 30<div class="main"> 31<div class="magick-masthead"> 32 <div class="container"> 33 <script async="async" src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" 34 style="display:block" 35 data-ad-client="ca-pub-3129977114552745" 36 data-ad-slot="6345125851" 37 data-ad-format="auto"></ins> 38 <script> 39 (adsbygoogle = window.adsbygoogle || []).push({}); 40 </script> 41 <nav class="magick-nav"> 42 <a class="magick-nav-item " href="../index.php">Home</a> 43 <a class="magick-nav-item " href="../script/binary-releases.php">Download</a> 44 <a class="magick-nav-item " href="../script/command-line-tools.php">Tools</a> 45 <a class="magick-nav-item " href="../script/command-line-options.php">Options</a> 46 <a class="magick-nav-item " href="../script/resources.php">Resources</a> 47 <a class="magick-nav-item " href="../script/api.php">Develop</a> 48 <a class="magick-nav-item " href="../script/search.php">Search</a> 49 <a class="magick-nav-item pull-right" href="http://www.imagemagick.org/discourse-server/">Community</a> 50 </nav> 51 </div> 52</div> 53<div class="container"> 54<div class="magick-header"> 55<p class="text-center"><a href="profile.php#CloneImageProfiles">CloneImageProfiles</a> • <a href="profile.php#DeleteImageProfile">DeleteImageProfile</a> • <a href="profile.php#DestroyImageProfiles">DestroyImageProfiles</a> • <a href="profile.php#GetImageProfile">GetImageProfile</a> • <a href="profile.php#GetNextImageProfile">GetNextImageProfile</a> • <a href="profile.php#ProfileImage">ProfileImage</a> • <a href="profile.php#RemoveImageProfile">RemoveImageProfile</a> • <a href="profile.php#ResetImageProfileIterator">ResetImageProfileIterator</a> • <a href="profile.php#SetImageProfile">SetImageProfile</a> • <a href="profile.php#SyncImageProfiles">SyncImageProfiles</a></p> 56 57<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="CloneImageProfiles">CloneImageProfiles</a></h2> 58 59<p>CloneImageProfiles() clones one or more image profiles.</p> 60 61<p>The format of the CloneImageProfiles method is:</p> 62 63<pre class="text"> 64MagickBooleanType CloneImageProfiles(Image *image, 65 const Image *clone_image) 66</pre> 67 68<p>A description of each parameter follows:</p> 69 70<dd> 71</dd> 72 73<dd> </dd> 74<dl class="dl-horizontal"> 75<dt>image</dt> 76<dd>the image. </dd> 77 78<dd> </dd> 79<dt>clone_image</dt> 80<dd>the clone image. </dd> 81 82<dd> </dd> 83</dl> 84<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="DeleteImageProfile">DeleteImageProfile</a></h2> 85 86<p>DeleteImageProfile() deletes a profile from the image by its name.</p> 87 88<p>The format of the DeleteImageProfile method is:</p> 89 90<pre class="text"> 91MagickBooleanTyupe DeleteImageProfile(Image *image,const char *name) 92</pre> 93 94<p>A description of each parameter follows:</p> 95 96<dd> 97</dd> 98 99<dd> </dd> 100<dl class="dl-horizontal"> 101<dt>image</dt> 102<dd>the image. </dd> 103 104<dd> </dd> 105<dt>name</dt> 106<dd>the profile name. </dd> 107 108<dd> </dd> 109</dl> 110<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="DestroyImageProfiles">DestroyImageProfiles</a></h2> 111 112<p>DestroyImageProfiles() releases memory associated with an image profile map.</p> 113 114<p>The format of the DestroyProfiles method is:</p> 115 116<pre class="text"> 117void DestroyImageProfiles(Image *image) 118</pre> 119 120<p>A description of each parameter follows:</p> 121 122<dd> 123</dd> 124 125<dd> </dd> 126<dl class="dl-horizontal"> 127<dt>image</dt> 128<dd>the image. </dd> 129 130<dd> </dd> 131</dl> 132<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="GetImageProfile">GetImageProfile</a></h2> 133 134<p>GetImageProfile() gets a profile associated with an image by name.</p> 135 136<p>The format of the GetImageProfile method is:</p> 137 138<pre class="text"> 139const StringInfo *GetImageProfile(const Image *image,const char *name) 140</pre> 141 142<p>A description of each parameter follows:</p> 143 144<dd> 145</dd> 146 147<dd> </dd> 148<dl class="dl-horizontal"> 149<dt>image</dt> 150<dd>the image. </dd> 151 152<dd> </dd> 153<dt>name</dt> 154<dd>the profile name. </dd> 155 156<dd> </dd> 157</dl> 158<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="GetNextImageProfile">GetNextImageProfile</a></h2> 159 160<p>GetNextImageProfile() gets the next profile name for an image.</p> 161 162<p>The format of the GetNextImageProfile method is:</p> 163 164<pre class="text"> 165char *GetNextImageProfile(const Image *image) 166</pre> 167 168<p>A description of each parameter follows:</p> 169 170<dd> 171</dd> 172 173<dd> </dd> 174<dl class="dl-horizontal"> 175<dt>hash_info</dt> 176<dd>the hash info. </dd> 177 178<dd> </dd> 179</dl> 180<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="ProfileImage">ProfileImage</a></h2> 181 182<p>ProfileImage() associates, applies, or removes an ICM, IPTC, or generic profile with / to / from an image. If the profile is NULL, it is removed from the image otherwise added or applied. Use a name of '*' and a profile of NULL to remove all profiles from the image.</p> 183 184<p>ICC and ICM profiles are handled as follows: If the image does not have an associated color profile, the one you provide is associated with the image and the image pixels are not transformed. Otherwise, the colorspace transform defined by the existing and new profile are applied to the image pixels and the new profile is associated with the image.</p> 185 186<p>The format of the ProfileImage method is:</p> 187 188<pre class="text"> 189MagickBooleanType ProfileImage(Image *image,const char *name, 190 const void *datum,const size_t length,const MagickBooleanType clone) 191</pre> 192 193<p>A description of each parameter follows:</p> 194 195<dd> 196</dd> 197 198<dd> </dd> 199<dl class="dl-horizontal"> 200<dt>image</dt> 201<dd>the image. </dd> 202 203<dd> </dd> 204<dt>name</dt> 205<dd>Name of profile to add or remove: ICC, IPTC, or generic profile. </dd> 206 207<dd> </dd> 208<dt>datum</dt> 209<dd>the profile data. </dd> 210 211<dd> </dd> 212<dt>length</dt> 213<dd>the length of the profile. </dd> 214 215<dd> </dd> 216<dt>clone</dt> 217<dd>should be MagickFalse. </dd> 218 219<dd> </dd> 220</dl> 221<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="RemoveImageProfile">RemoveImageProfile</a></h2> 222 223<p>RemoveImageProfile() removes a named profile from the image and returns its value.</p> 224 225<p>The format of the RemoveImageProfile method is:</p> 226 227<pre class="text"> 228void *RemoveImageProfile(Image *image,const char *name) 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>image</dt> 239<dd>the image. </dd> 240 241<dd> </dd> 242<dt>name</dt> 243<dd>the profile name. </dd> 244 245<dd> </dd> 246</dl> 247<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="ResetImageProfileIterator">ResetImageProfileIterator</a></h2> 248 249<p>ResetImageProfileIterator() resets the image profile iterator. Use it in conjunction with GetNextImageProfile() to iterate over all the profiles associated with an image.</p> 250 251<p>The format of the ResetImageProfileIterator method is:</p> 252 253<pre class="text"> 254ResetImageProfileIterator(Image *image) 255</pre> 256 257<p>A description of each parameter follows:</p> 258 259<dd> 260</dd> 261 262<dd> </dd> 263<dl class="dl-horizontal"> 264<dt>image</dt> 265<dd>the image. </dd> 266 267<dd> </dd> 268</dl> 269<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="SetImageProfile">SetImageProfile</a></h2> 270 271<p>SetImageProfile() adds a named profile to the image. If a profile with the same name already exists, it is replaced. This method differs from the ProfileImage() method in that it does not apply CMS color profiles.</p> 272 273<p>The format of the SetImageProfile method is:</p> 274 275<pre class="text"> 276MagickBooleanType SetImageProfile(Image *image,const char *name, 277 const StringInfo *profile) 278</pre> 279 280<p>A description of each parameter follows:</p> 281 282<dd> 283</dd> 284 285<dd> </dd> 286<dl class="dl-horizontal"> 287<dt>image</dt> 288<dd>the image. </dd> 289 290<dd> </dd> 291<dt>name</dt> 292<dd>the profile name, for example icc, exif, and 8bim (8bim is the Photoshop wrapper for iptc profiles). </dd> 293 294<dd> </dd> 295<dt>profile</dt> 296<dd>A StringInfo structure that contains the named profile. </dd> 297 298<dd> </dd> 299</dl> 300<h2><a href="http://nextgen.imagemagick.org/api/MagickCore/profile_8c.html" id="SyncImageProfiles">SyncImageProfiles</a></h2> 301 302<p>SyncImageProfiles() synchronizes image properties with the image profiles. Currently we only support updating the EXIF resolution and orientation.</p> 303 304<p>The format of the SyncImageProfiles method is:</p> 305 306<pre class="text"> 307MagickBooleanType SyncImageProfiles(Image *image) 308</pre> 309 310<p>A description of each parameter follows:</p> 311 312<dd> 313</dd> 314 315<dd> </dd> 316<dl class="dl-horizontal"> 317<dt>image</dt> 318<dd>the image. </dd> 319 320<dd> </dd> 321</dl> 322</div> 323 <footer class="magick-footer"> 324 <p><a href="../script/support.php">Donate</a> • 325 <a href="../script/sitemap.php">Sitemap</a> • 326 <a href="../script/links.php">Related</a> • 327 <a href="../script/architecture.php">Architecture</a> 328</p> 329 <p><a href="profile.php#">Back to top</a> • 330 <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> • 331 <a href="../script/contact.php">Contact Us</a></p> 332 <p><small>© 1999-2016 ImageMagick Studio LLC</small></p> 333 </footer> 334</div><!-- /.container --> 335 336 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 337 <script src="http://nextgen.imagemagick.org/js/magick.php"></script> 338</div> 339</body> 340</html> 341