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> &#8226; <a href="profile.html#DeleteImageProfile">DeleteImageProfile</a> &#8226; <a href="profile.html#DestroyImageProfiles">DestroyImageProfiles</a> &#8226; <a href="profile.html#GetImageProfile">GetImageProfile</a> &#8226; <a href="profile.html#GetNextImageProfile">GetNextImageProfile</a> &#8226; <a href="profile.html#ProfileImage">ProfileImage</a> &#8226; <a href="profile.html#RemoveImageProfile">RemoveImageProfile</a> &#8226; <a href="profile.html#ResetImageProfileIterator">ResetImageProfileIterator</a> &#8226; <a href="profile.html#SetImageProfile">SetImageProfile</a> &#8226; <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&amp;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