# Attribute

## GetImageConvexHull

GetImageConvexHull() returns the convex hull points of an image canvas.

The format of the GetImageConvexHull method is:

    PointInfo *GetImageConvexHull(const Image *image,
      size_t number_vertices,ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
number_vertices
  the number of vertices in the convex hull.
exception
  return any errors or warnings in this structure.

## GetImageDepth

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

The format of the GetImageDepth method is:

    size_t GetImageDepth(const Image *image,ExceptionInfo *exception)

A description of each parameter follows:

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

## GetImageMinimumBoundingBox

GetImageMinimumBoundingBox() returns the points that form the minimum bounding box around the image foreground objects with the "Rotating Calipers" algorithm. The method also returns these properties:

      minimum-bounding-box:height, and minimum-bounding-box:angle.

The format of the GetImageMinimumBoundingBox method is:

    PointInfo *GetImageMinimumBoundingBox(Image *image,
      size_t number_vertices,ExceptionInfo *exception)

A description of each parameter follows:

image
  the image.
number_vertices
  the number of vertices in the bounding box.
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 type of image:

Bilevel Grayscale GrayscaleMatte Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte

The format of the GetImageType method is:

    ImageType GetImageType(const Image *image)

A description of each parameter follows:

image
  the image.

## IdentifyImageGray

IdentifyImageGray() returns grayscale if all the pixels in the image have the same red, green, and blue intensities, and bi-level if the intensity is either 0 or QuantumRange. Otherwise undefined is returned.

The format of the IdentifyImageGray method is:

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

## IsImageGray

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

The format of the IsImageGray method is:

    MagickBooleanType IsImageGray(const Image *image)

A description of each parameter follows:

image
  the image.

## IsImageMonochrome

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

The format of the IsImageMonochrome method is:

    MagickBooleanType IsImageMonochrome(const Image *image)

A description of each parameter follows:

image
  the image.

## IsImageOpaque

IsImageOpaque() returns MagickTrue if none of the pixels in the image have an alpha value other than OpaqueAlpha (QuantumRange).

Will return true immediately is alpha channel is not available.

The format of the IsImageOpaque method is:

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

A description of each parameter follows:

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

## SetImageDepth

SetImageDepth() sets the depth of the image.

The format of the SetImageDepth method is:

    MagickBooleanType SetImageDepth(Image *image,const size_t depth,
      ExceptionInfo *exception)

A description of each parameter follows:

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

## SetImageType

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

Bilevel Grayscale GrayscaleMatte Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte OptimizeType

The format of the SetImageType method is:

    MagickBooleanType SetImageType(Image *image,const ImageType type,
      ExceptionInfo *exception)

A description of each parameter follows:

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