# ImageMagick: MagickCore, C API for ImageMagick: Monitor the Progress of an Image Operation
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 [cut: 1167 characters, first 599 kept]
Author: ImageMagick Studio LLC
Keywords: magickcore, c, api, for, imagemagick:, monitor, the, progress, of, an, image, operation, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand

## SetImageProgressMonitor

SetImageProgressMonitor() sets the image progress monitor to the specified method and returns the previous progress monitor if any. The progress monitor method looks like this:

          MagickBooleanType MagickProgressMonitor(const char *text,
      const MagickOffsetType offset,const MagickSizeType span,
      void *client_data)

If the progress monitor returns MagickFalse, the current operation is interrupted.

The format of the SetImageProgressMonitor method is:

      MagickProgressMonitor SetImageProgressMonitor(Image *image,
        const MagickProgressMonitor progress_monitor,void *client_data)

A description of each parameter follows:

##### image

The image.

##### progress_monitor

Specifies a pointer to a method to monitor progress of an image operation.

##### client_data

Specifies a pointer to any client data.

## SetImageInfoProgressMonitor

SetImageInfoProgressMonitor() sets the image_info progress monitor to the specified method and returns the previous progress monitor if any. The progress monitor method looks like this:

          MagickBooleanType MagickProgressMonitor(const char *text,
      const MagickOffsetType offset,const MagickSizeType span,
      void *client_data)

If the progress monitor returns MagickFalse, the current operation is interrupted.

The format of the SetImageInfoProgressMonitor method is:

      MagickProgressMonitor SetImageInfoProgressMonitor(ImageInfo *image_info,
        const MagickProgressMonitor progress_monitor,void *client_data)

A description of each parameter follows:

##### image_info

The image info.

##### progress_monitor

Specifies a pointer to a method to monitor progress of an image operation.

##### client_data

Specifies a pointer to any client data.

Discourse Server • Mailing Lists • ImageMagick Studio