# Attribute

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

## IdentifyImageMonochrome

IdentifyImageMonochrome() 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.

The format of the IdentifyImageMonochrome method is:

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

A description of each parameter follows:

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

## IdentifyImageType

IdentifyImageType() 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,IdentifyImageType(image,exception),exception);

The format of the IdentifyImageType method is:

    ImageType IdentifyImageType(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.

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