# ImageMagick – MagickCore, C API: Dealing with Image Colorspaces
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: Dealing with Image Colorspaces, Image Processing, Digital Image Editing, Image Conversion, Open-Source Software, Image Manipulation, Command-Line Image Tools

# Colorspace

## GetImageColorspaceType

GetImageColorspaceType() returns the potential colorspace of image: sRGBColorspaceType, RGBColorspaceType, GRAYColorspaceType, etc.

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

        (void) SetImageColorspaceType(image,GetImageColorspaceType(image),
    exception);

The format of the GetImageColorspaceType method is:

    ColorspaceType GetImageColorspaceType(const Image *image,
      ExceptionInfo *exception)

A description of each parameter follows:

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

## SetImageColorspace

SetImageColorspace() sets the colorspace member of the Image structure.

The format of the SetImageColorspace method is:

    MagickBooleanType SetImageColorspace(Image *image,
      const ColorspaceType colorspace)

A description of each parameter follows:

image
  the image.
colorspace
  the colorspace.

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

## TransformImageColorspace

TransformImageColorspace() transforms an image colorspace.

The format of the TransformImageColorspace method is:

    MagickBooleanType TransformImageColorspace(Image *image,
      const ColorspaceType colorspace)

A description of each parameter follows:

image
  the image.
colorspace
  the colorspace.