ImageAttributes::SetColorMatrices method (gdiplusimageattributes.h)

The ImageAttributes::SetColorMatrices method sets the color-adjustment matrix and the grayscale-adjustment matrix for a specified category.


Status SetColorMatrices(
  [in]           const ColorMatrix *colorMatrix,
  [in]           const ColorMatrix *grayMatrix,
  [in, optional] ColorMatrixFlags  mode,
  [in, optional] ColorAdjustType   type


[in] colorMatrix

Type: const ColorMatrix*

Pointer to a 5×5 color-adjustment matrix.

[in] grayMatrix

Type: const ColorMatrix*

Pointer to a 5×5 grayscale-adjustment matrix.

[in, optional] mode

Type: ColorMatrixFlags

Element of the ColorMatrixFlags enumeration that specifies the type of image and color that will be affected by the color-adjustment and grayscale-adjustment matrices. The default value is ColorMatrixFlagsDefault.

[in, optional] type

Type: ColorAdjustType

Element of the ColorAdjustType enumeration that specifies the category for which the color-adjustment and grayscale-adjustment matrices are set. The default value is ColorAdjustTypeDefault.

Return value

Type: Status

If the method succeeds, it returns Ok, which is an element of the Status enumeration.

If the method fails, it returns one of the other elements of the Status enumeration.


An ImageAttributes object maintains color and grayscale settings for five adjustment categories: default, bitmap, brush, pen, and text. For example, you can specify adjustment matrices for the default category, different adjustment matrices for the bitmap category, and still different adjustment matrices for the pen category.

The default color- and grayscale-adjustment settings apply to all categories that don't have adjustment settings of their own. For example, if you never specify any adjustment settings for the pen category, then the default settings apply to the pen category.

As soon as you specify a color- or grayscale-adjustment setting for a certain category, the default adjustment settings no longer apply to that category. For example, suppose you specify a collection of adjustment settings for the default category. If you set the color-adjustment and grayscale-adjustment matrices for the pen category by passing ColorAdjustTypePen to the ImageAttributes::SetColorMatrices method, then none of the default adjustment settings will apply to pens.


Minimum supported client Windows XP, Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header gdiplusimageattributes.h (include Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

See also