# MagickWand, C API: Pixel Iterator Methods @ 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: magickwc, api:, pixel, iterator, methods, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert

ClearPixelIterator • ClonePixelIterator • DestroyPixelIterator • IsPixelIterator • NewPixelIterator • PixelClearIteratorException • NewPixelRegionIterator • PixelGetCurrentIteratorRow • PixelGetIteratorException • PixelGetIteratorExceptionType • PixelGetIteratorRow • PixelGetNextIteratorRow • PixelGetPreviousIteratorRow • PixelResetIterator • PixelSetFirstIteratorRow • PixelSetIteratorRow • PixelSetLastIteratorRow • PixelSyncIterator

## ClearPixelIterator

ClearPixelIterator() clear resources associated with a PixelIterator.

The format of the ClearPixelIterator method is:

    void ClearPixelIterator(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the pixel iterator.

## ClonePixelIterator

ClonePixelIterator() makes an exact copy of the specified iterator.

The format of the ClonePixelIterator method is:

    PixelIterator *ClonePixelIterator(const PixelIterator *iterator)

A description of each parameter follows:

iterator
  the magick iterator.

## DestroyPixelIterator

DestroyPixelIterator() deallocates resources associated with a PixelIterator.

The format of the DestroyPixelIterator method is:

    PixelIterator *DestroyPixelIterator(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the pixel iterator.

## IsPixelIterator

IsPixelIterator() returns MagickTrue if the iterator is verified as a pixel iterator.

The format of the IsPixelIterator method is:

    MagickBooleanType IsPixelIterator(const PixelIterator *iterator)

A description of each parameter follows:

iterator
  the magick iterator.

## NewPixelIterator

NewPixelIterator() returns a new pixel iterator.

The format of the NewPixelIterator method is:

    PixelIterator *NewPixelIterator(MagickWand *wand)

A description of each parameter follows:

wand
  the magick wand.

## PixelClearIteratorException

PixelClearIteratorException() clear any exceptions associated with the iterator.

The format of the PixelClearIteratorException method is:

    MagickBooleanType PixelClearIteratorException(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the pixel iterator.

## NewPixelRegionIterator

NewPixelRegionIterator() returns a new pixel iterator.

The format of the NewPixelRegionIterator method is:

    PixelIterator *NewPixelRegionIterator(MagickWand *wand,const ssize_t x,
      const ssize_t y,const size_t width,const size_t height)

A description of each parameter follows:

wand
  the magick wand.
x,y,columns,rows
  These values define the perimeter of a region of pixels.

## PixelGetCurrentIteratorRow

PixelGetCurrentIteratorRow() returns the current row as an array of pixel wands from the pixel iterator.

The format of the PixelGetCurrentIteratorRow method is:

    PixelWand **PixelGetCurrentIteratorRow(PixelIterator *iterator,
      size_t *number_wands)

A description of each parameter follows:

iterator
  the pixel iterator.
number_wands
  the number of pixel wands.

## PixelGetIteratorException

PixelGetIteratorException() returns the severity, reason, and description of any error that occurs when using other methods in this API.

The format of the PixelGetIteratorException method is:

    char *PixelGetIteratorException(const PixelIterator *iterator,
      ExceptionType *severity)

A description of each parameter follows:

iterator
  the pixel iterator.
severity
  the severity of the error is returned here.

## PixelGetIteratorExceptionType

PixelGetIteratorExceptionType() the exception type associated with the iterator. If no exception has occurred, UndefinedExceptionType is returned.

The format of the PixelGetIteratorExceptionType method is:

    ExceptionType PixelGetIteratorExceptionType(
      const PixelIterator *iterator)

A description of each parameter follows:

iterator
  the pixel iterator.

## PixelGetIteratorRow

PixelGetIteratorRow() returns the current pixel iterator row.

The format of the PixelGetIteratorRow method is:

    MagickBooleanType PixelGetIteratorRow(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the pixel iterator.

## PixelGetNextIteratorRow

PixelGetNextIteratorRow() returns the next row as an array of pixel wands from the pixel iterator.

The format of the PixelGetNextIteratorRow method is:

    PixelWand **PixelGetNextIteratorRow(PixelIterator *iterator,
      size_t *number_wands)

A description of each parameter follows:

iterator
  the pixel iterator.
number_wands
  the number of pixel wands.

## PixelGetPreviousIteratorRow

PixelGetPreviousIteratorRow() returns the previous row as an array of pixel wands from the pixel iterator.

The format of the PixelGetPreviousIteratorRow method is:

    PixelWand **PixelGetPreviousIteratorRow(PixelIterator *iterator,
      size_t *number_wands)

A description of each parameter follows:

iterator
  the pixel iterator.
number_wands
  the number of pixel wands.

## PixelResetIterator

PixelResetIterator() resets the pixel iterator. Use it in conjunction with PixelGetNextIteratorRow() to iterate over all the pixels in a pixel container.

The format of the PixelResetIterator method is:

    void PixelResetIterator(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the pixel iterator.

## PixelSetFirstIteratorRow

PixelSetFirstIteratorRow() sets the pixel iterator to the first pixel row.

The format of the PixelSetFirstIteratorRow method is:

    void PixelSetFirstIteratorRow(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the magick iterator.

## PixelSetIteratorRow

PixelSetIteratorRow() set the pixel iterator row.

The format of the PixelSetIteratorRow method is:

    MagickBooleanType PixelSetIteratorRow(PixelIterator *iterator,
      const ssize_t row)

A description of each parameter follows:

iterator
  the pixel iterator.

## PixelSetLastIteratorRow

PixelSetLastIteratorRow() sets the pixel iterator to the last pixel row.

The format of the PixelSetLastIteratorRow method is:

    void PixelSetLastIteratorRow(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the magick iterator.

## PixelSyncIterator

PixelSyncIterator() syncs the pixel iterator.

The format of the PixelSyncIterator method is:

    MagickBooleanType PixelSyncIterator(PixelIterator *iterator)

A description of each parameter follows:

iterator
  the pixel iterator.