# ImageMagick – MagickCore, C API: Set Text Attributes
ImageMagick is a powerful, open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for web developers, graphic designers, and researchers, it offers versatile tools for image processing, including batch processing, format conversion, and complex image transformations.
Author: ImageMagick Studio LLC
Keywords: MagickCore, C API: Set Text Attributes, Image Processing, Digital Image Editing, Image Conversion, Open-Source Software, Image Manipulation, Command-Line Image Tools

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