# MagickCore, C API: Monitor the Progress of an Image Operation @ ImageMagick
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.
Author: ImageMagick Studio LLC
Keywords: magickcore, c, api:, monitor, the, progress, of, an, image, operation, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert

SetImageProgressMonitor • SetImageInfoProgressMonitor

## 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 extent,
    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 extent,
    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.