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