GetImageChannelDepth • GetImageQuantumDepth • GetImageType • IsGrayImage • IsMonochromeImage • IsOpaqueImage • SetImageChannelDepth • SetImageGray • SetImageMonochrome • SetImageType

## GetImageChannelDepth

GetImageChannelDepth() returns the depth of a particular image channel.

The format of the GetImageChannelDepth method is:

    size_t GetImageDepth(const Image *image,ExceptionInfo *exception)
    size_t GetImageChannelDepth(const Image *image,
      const ChannelType channel,ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
channel
  the channel.
exception
  return any errors or warnings in this structure.

## GetImageQuantumDepth

GetImageQuantumDepth() returns the depth of the image rounded to a legal quantum depth: 8, 16, or 32.

The format of the GetImageQuantumDepth method is:

    size_t GetImageQuantumDepth(const Image *image,
      const MagickBooleanType constrain)

A description of each parameter follows:

image
  the image.
constrain
  A value other than MagickFalse, constrains the depth to a maximum of MAGICKCORE_QUANTUM_DEPTH.

## GetImageType

GetImageType() returns the potential type of image:

Bilevel Grayscale GrayscaleMatte Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte

To ensure the image type matches its potential, use SetImageType():

        (void) SetImageType(image,GetImageType(image));

The format of the GetImageType method is:

    ImageType GetImageType(const Image *image,ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## IsGrayImage

IsGrayImage() returns MagickTrue if the type of the image is grayscale or bi-level.

The format of the IsGrayImage method is:

    MagickBooleanType IsGrayImage(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## IsMonochromeImage

IsMonochromeImage() returns MagickTrue if type of the image is bi-level.

The format of the IsMonochromeImage method is:

    MagickBooleanType IsMonochromeImage(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## IsOpaqueImage

IsOpaqueImage() returns MagickTrue if none of the pixels in the image have an opacity value other than opaque (0).

The format of the IsOpaqueImage method is:

    MagickBooleanType IsOpaqueImage(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## SetImageChannelDepth

SetImageChannelDepth() sets the depth of the image.

The format of the SetImageChannelDepth method is:

    MagickBooleanType SetImageDepth(Image *image,const size_t depth)
    MagickBooleanType SetImageChannelDepth(Image *image,
      const ChannelType channel,const size_t depth)

A description of each parameter follows:

image
  the image.
channel
  the channel.
depth
  the image depth.

## SetImageGray

SetImageGray() returns MagickTrue if all the pixels in the image have the same red, green, and blue intensities and changes the type of the image to bi-level or grayscale.

The format of the SetImageGray method is:

    MagickBooleanType SetImageGray(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## SetImageMonochrome

SetImageMonochrome() returns MagickTrue if all the pixels in the image have the same red, green, and blue intensities and the intensity is either 0 or QuantumRange and changes the type of the image to bi-level.

The format of the SetImageMonochrome method is:

    MagickBooleanType SetImageMonochrome(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
exception
  return any errors or warnings in this structure.

## SetImageType

SetImageType() sets the type of image. Choose from these types:

BilevelType, GrayscaleType, GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType, TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, OptimizeType

The format of the SetImageType method is:

    MagickBooleanType SetImageType(Image *image,const ImageType type)

A description of each parameter follows:

image
  the image.
type
  Image type.