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, initial-scale=1" /> 10 <title>ImageMagick - MagickCore, C API: Dealing with Image Profiles</title> 11 <meta name="application-name" content="ImageMagick" /> 12 <meta name="description" content="Use ImageMagick® to create, edit, compose, and convert digital 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:, dealing, with, image, profiles, image processing software" /> 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="Create, Edit, Compose, or Convert Digital Images" /> 31 <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" /> 32 <link href="profile.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 bg-dark fixed-top"> 39 <div class="container-fluid"> 40 <a class="navbar-brand" href="../../"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../../../images/wand.ico"/></a> 41 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#magick-navbars" aria-controls="magick-navbars" aria-expanded="false" aria-label="Toggle navigation"> 42 <span class="navbar-toggler-icon"></span> 43 </button> 44 45 <div class="collapse navbar-collapse" id="magick-navbars"> 46 <ul class="navbar-nav me-auto mb-2 mb-md-0"> 47 <li class="nav-item"> 48 <a class="nav-link " href="../../www/index.html">Home</a> 49 </li> 50 <li class="nav-item"> 51 <a class="nav-link " href="../../www/download.html">Download</a> 52 </li> 53 <li class="nav-item"> 54 <a class="nav-link " href="../../www/command-line-tools.html">Tools</a> 55 </li> 56 <li class="nav-item"> 57 <a class="nav-link " href="../../www/command-line-processing.html">CLI</a> 58 </li> 59 <li class="nav-item"> 60 <a class="nav-link " href="../../www/develop.html">Develop</a> 61 </li> 62 <li class="nav-item"> 63 <a class="nav-link" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a> 64 </li> 65 <li class="nav-item"> 66 <iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe> 67 </li> 68 </ul> 69 <form class="d-flex form-inline" action="https://imagemagick.org/script/search.php"> 70 <input class="form-control me-2" type="text" name="q" placeholder="Search" aria-label="Search"> 71 <button class="btn btn-outline-success" type="submit" name="sa">Search</button> 72 </form> 73 </div> 74 </div> 75 </nav> 76 77 <div class="container"> 78 <script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script> 79 <ins class="adsbygoogle" 80 style="display:block" 81 data-ad-client="ca-pub-3129977114552745" 82 data-ad-slot="6345125851" 83 data-full-width-responsive="true" 84 data-ad-format="horizontal"></ins> 85 <script> 86 (adsbygoogle = window.adsbygoogle || []).push({}); 87 </script> 88 89 </div> 90 91 <main class="container"> 92 <div class="magick-template"> 93<div class="magick-header"> 94<p class="text-center"><a href="profile.html#CloneImageProfiles">CloneImageProfiles</a> • <a href="profile.html#DeleteImageProfile">DeleteImageProfile</a> • <a href="profile.html#DestroyImageProfiles">DestroyImageProfiles</a> • <a href="profile.html#GetImageProfile">GetImageProfile</a> • <a href="profile.html#GetNextImageProfile">GetNextImageProfile</a> • <a href="profile.html#ProfileImage">ProfileImage</a> • <a href="profile.html#RemoveImageProfile">RemoveImageProfile</a> • <a href="profile.html#ResetImageProfileIterator">ResetImageProfileIterator</a> • <a href="profile.html#SetImageProfile">SetImageProfile</a> • <a href="profile.html#SyncImageProfiles">SyncImageProfiles</a></p> 95 96<h2><a href="../../api/MagickCore/profile_8c.html" id="CloneImageProfiles">CloneImageProfiles</a></h2> 97 98<p>CloneImageProfiles() clones one or more image profiles.</p> 99 100<p>The format of the CloneImageProfiles method is:</p> 101 102<pre class="text"> 103MagickBooleanType CloneImageProfiles(Image *image, 104 const Image *clone_image) 105</pre> 106 107<p>A description of each parameter follows:</p> 108 109<dd> 110</dd> 111 112<dd> </dd> 113<dl class="dl-horizontal"> 114<dt>image</dt> 115<dd>the image. </dd> 116 117<dd> </dd> 118<dt>clone_image</dt> 119<dd>the clone image. </dd> 120 121<dd> </dd> 122</dl> 123<h2><a href="../../api/MagickCore/profile_8c.html" id="DeleteImageProfile">DeleteImageProfile</a></h2> 124 125<p>DeleteImageProfile() deletes a profile from the image by its name.</p> 126 127<p>The format of the DeleteImageProfile method is:</p> 128 129<pre class="text"> 130MagickBooleanTyupe DeleteImageProfile(Image *image,const char *name) 131</pre> 132 133<p>A description of each parameter follows:</p> 134 135<dd> 136</dd> 137 138<dd> </dd> 139<dl class="dl-horizontal"> 140<dt>image</dt> 141<dd>the image. </dd> 142 143<dd> </dd> 144<dt>name</dt> 145<dd>the profile name. </dd> 146 147<dd> </dd> 148</dl> 149<h2><a href="../../api/MagickCore/profile_8c.html" id="DestroyImageProfiles">DestroyImageProfiles</a></h2> 150 151<p>DestroyImageProfiles() releases memory associated with an image profile map.</p> 152 153<p>The format of the DestroyProfiles method is:</p> 154 155<pre class="text"> 156void DestroyImageProfiles(Image *image) 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>image</dt> 167<dd>the image. </dd> 168 169<dd> </dd> 170</dl> 171<h2><a href="../../api/MagickCore/profile_8c.html" id="GetImageProfile">GetImageProfile</a></h2> 172 173<p>GetImageProfile() gets a profile associated with an image by name.</p> 174 175<p>The format of the GetImageProfile method is:</p> 176 177<pre class="text"> 178const StringInfo *GetImageProfile(const Image *image,const char *name) 179</pre> 180 181<p>A description of each parameter follows:</p> 182 183<dd> 184</dd> 185 186<dd> </dd> 187<dl class="dl-horizontal"> 188<dt>image</dt> 189<dd>the image. </dd> 190 191<dd> </dd> 192<dt>name</dt> 193<dd>the profile name. </dd> 194 195<dd> </dd> 196</dl> 197<h2><a href="../../api/MagickCore/profile_8c.html" id="GetNextImageProfile">GetNextImageProfile</a></h2> 198 199<p>GetNextImageProfile() gets the next profile name for an image.</p> 200 201<p>The format of the GetNextImageProfile method is:</p> 202 203<pre class="text"> 204char *GetNextImageProfile(const Image *image) 205</pre> 206 207<p>A description of each parameter follows:</p> 208 209<dd> 210</dd> 211 212<dd> </dd> 213<dl class="dl-horizontal"> 214<dt>hash_info</dt> 215<dd>the hash info. </dd> 216 217<dd> </dd> 218</dl> 219<h2><a href="../../api/MagickCore/profile_8c.html" id="ProfileImage">ProfileImage</a></h2> 220 221<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> 222 223<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> 224 225<p>The format of the ProfileImage method is:</p> 226 227<pre class="text"> 228MagickBooleanType ProfileImage(Image *image,const char *name, 229 const void *datum,const size_t length,const MagickBooleanType clone) 230</pre> 231 232<p>A description of each parameter follows:</p> 233 234<dd> 235</dd> 236 237<dd> </dd> 238<dl class="dl-horizontal"> 239<dt>image</dt> 240<dd>the image. </dd> 241 242<dd> </dd> 243<dt>name</dt> 244<dd>Name of profile to add or remove: ICC, IPTC, or generic profile. </dd> 245 246<dd> </dd> 247<dt>datum</dt> 248<dd>the profile data. </dd> 249 250<dd> </dd> 251<dt>length</dt> 252<dd>the length of the profile. </dd> 253 254<dd> </dd> 255<dt>clone</dt> 256<dd>should be MagickFalse. </dd> 257 258<dd> </dd> 259</dl> 260<h2><a href="../../api/MagickCore/profile_8c.html" id="RemoveImageProfile">RemoveImageProfile</a></h2> 261 262<p>RemoveImageProfile() removes a named profile from the image and returns its value.</p> 263 264<p>The format of the RemoveImageProfile method is:</p> 265 266<pre class="text"> 267void *RemoveImageProfile(Image *image,const char *name) 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>image</dt> 278<dd>the image. </dd> 279 280<dd> </dd> 281<dt>name</dt> 282<dd>the profile name. </dd> 283 284<dd> </dd> 285</dl> 286<h2><a href="../../api/MagickCore/profile_8c.html" id="ResetImageProfileIterator">ResetImageProfileIterator</a></h2> 287 288<p>ResetImageProfileIterator() resets the image profile iterator. Use it in conjunction with GetNextImageProfile() to iterate over all the profiles associated with an image.</p> 289 290<p>The format of the ResetImageProfileIterator method is:</p> 291 292<pre class="text"> 293ResetImageProfileIterator(Image *image) 294</pre> 295 296<p>A description of each parameter follows:</p> 297 298<dd> 299</dd> 300 301<dd> </dd> 302<dl class="dl-horizontal"> 303<dt>image</dt> 304<dd>the image. </dd> 305 306<dd> </dd> 307</dl> 308<h2><a href="../../api/MagickCore/profile_8c.html" id="SetImageProfile">SetImageProfile</a></h2> 309 310<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> 311 312<p>The format of the SetImageProfile method is:</p> 313 314<pre class="text"> 315MagickBooleanType SetImageProfile(Image *image,const char *name, 316 const StringInfo *profile) 317</pre> 318 319<p>A description of each parameter follows:</p> 320 321<dd> 322</dd> 323 324<dd> </dd> 325<dl class="dl-horizontal"> 326<dt>image</dt> 327<dd>the image. </dd> 328 329<dd> </dd> 330<dt>name</dt> 331<dd>the profile name, for example icc, exif, and 8bim (8bim is the Photoshop wrapper for iptc profiles). </dd> 332 333<dd> </dd> 334<dt>profile</dt> 335<dd>A StringInfo structure that contains the named profile. </dd> 336 337<dd> </dd> 338</dl> 339<h2><a href="../../api/MagickCore/profile_8c.html" id="SyncImageProfiles">SyncImageProfiles</a></h2> 340 341<p>SyncImageProfiles() synchronizes image properties with the image profiles. Currently we only support updating the EXIF resolution and orientation.</p> 342 343<p>The format of the SyncImageProfiles method is:</p> 344 345<pre class="text"> 346MagickBooleanType SyncImageProfiles(Image *image) 347</pre> 348 349<p>A description of each parameter follows:</p> 350 351<dd> 352</dd> 353 354<dd> </dd> 355<dl class="dl-horizontal"> 356<dt>image</dt> 357<dd>the image. </dd> 358 359<dd> </dd> 360</dl> 361</div> 362 </div> 363 </main><!-- /.container --> 364 <footer class="magick-footer"> 365 <div class="container-fluid"> 366 <a href="../../www/security-policy.html">Security</a> • 367 <a href="../../www/news.html">News</a> 368 369 <a href="profile.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../../../images/wand.ico"/></a> 370 371 <a href="../../www/links.html">Related</a> • 372 <a href="../../www/sitemap.html">Sitemap</a> 373 <br/> 374 <a href="../../www/support.html">Sponsor</a> • 375 <a href="../../www/cite.html">Cite</a> • 376 <a href="http://pgp.mit.edu/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> • 377 <a href="../../www/contact.html">Contact Us</a> 378 <br/> 379 <a href="https://github.com/imagemagick/imagemagick" 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> • 380 <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> 381 <br/> 382 <small>© 1999-2021 ImageMagick Studio LLC</small> 383 </div> 384 </footer> 385 386 <!-- Javascript assets --> 387 <script src="../../assets/magick.js" ></script> 388 </body> 389</html> 390