ImageMagick: MagickCore, C API for ImageMagick: Dealing with Image Profiles
Author: ImageMagick Studio LLC
Description: ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (P [cell cut: 1167 characters, first 1000 kept]
Keywords: magickcore, c, api, for, imagemagick:, dealing, with, image, profiles, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand

## CloneImageProfiles CloneImageProfiles() clones one or more image profiles. The format of the CloneImageProfiles method is:
      MagickBooleanType CloneImageProfiles(Image *image,
        const Image *clone_image)
A description of each parameter follows: ##### image The image. ##### clone_image The clone image. ## DeleteImageProfile DeleteImageProfile() deletes a profile from the image by its name. The format of the DeleteImageProfile method is:
      MagickBooleanTyupe DeleteImageProfile(Image *image,const char *name)
A description of each parameter follows: ##### image The image. ##### name The profile name. ## DestroyImageProfiles DestroyImageProfiles() releases memory associated with an image profile map. The format of the DestroyProfiles method is:
      void DestroyImageProfiles(Image *image)
A description of each parameter follows: ##### image The image. ## GetImageProfile GetImageProfile() gets a profile associated with an image by name. The format of the GetImageProfile method is:
      const StringInfo *GetImageProfile(const Image *image,const char *name)
A description of each parameter follows: ##### image The image. ##### name The profile name. ## GetNextImageProfile GetNextImageProfile() gets the next profile name for an image. The format of the GetNextImageProfile method is:
      char *GetNextImageProfile(const Image *image)
A description of each parameter follows: ##### hash_info The hash info. ## ProfileImage 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. ICC and ICM profiles are 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. The format of the ProfileImage method is:
      MagickBooleanType ProfileImage(Image *image,const char *name,
        const void *datum,const size_t length,const MagickBooleanType clone)
A description of each parameter follows: ##### image The image. ##### name Name of profile to add or remove: ICC, IPTC, or generic profile. ##### datum The profile data. ##### length The length of the profile. ##### clone should be MagickFalse. ## RemoveImageProfile RemoveImageProfile() removes a named profile from the image and returns its value. The format of the RemoveImageProfile method is:
      void *RemoveImageProfile(Image *image,const char *name)
A description of each parameter follows: ##### image The image. ##### name The profile name. ## ResetImageProfileIterator ResetImageProfileIterator() resets the image profile iterator. Use it in conjunction with GetNextImageProfile() to iterate over all the profiles associated with an image. The format of the ResetImageProfileIterator method is:
      ResetImageProfileIterator(Image *image)
A description of each parameter follows: ##### image The image. ## SetImageProfile 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. The format of the SetImageProfile method is:
      MagickBooleanType SetImageProfile(Image *image,const char *name,
        const StringInfo *profile)
A description of each parameter follows: ##### image The image. ##### name The profile name. ##### profile A StringInfo structure that contains the named profile. ## SyncImageProfiles SyncImageProfiles() synchronizes image properties with the image profiles. Currently we only support updating the EXIF resolution and orientation. The format of the SyncImageProfiles method is:
      MagickBooleanType SyncImageProfiles(Image *image)
A description of each parameter follows: ##### image The image. |

Discourse Server • Mailing Lists • ImageMagick Studio