---
title: "ColorManagementProvider Class"
canonical: https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_ColorManagementProvider.htm
product: "Graphics Mill 5.5 for .NET"
---

This documentation is for the old version. [Go to the latest Graphics Mill docs](https://www.graphicsmill.com/docs/gm/)

# ColorManagementProvider Class
 
This class contains methods and properties used by [Bitmap](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Bitmap.htm.md) to provide color management and color conversion.
 
**Namespace:** [Aurigma.GraphicsMill](https://www.graphicsmill.com/docs/gm5/N_Aurigma_GraphicsMill.htm.md)
 **Assembly:** Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
 
## Syntax
  
```
Public Class ColorManagementProvider _Inherits LockableObject
```
 
```csharp
public class ColorManagementProvider : LockableObject
```
 
## Remarks
  
This class is accessible from [ColorManagement](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_Bitmap_ColorManagement.htm.md) property of [Bitmap](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Bitmap.htm.md). You should use it if you need [Bitmap](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_Bitmap.htm.md) to apply color management during color conversions, drawing, and other operations where it is applicable.
 
To choose the color management engine, you should use property [ColorManagementEngine](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_ColorManagementProvider_ColorManagementEngine.htm.md). You can specify such color management parameters as output profiles for each color space ([CmykColorProfile](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_ColorManagementProvider_CmykColorProfile.htm.md), [GrayScaleColorProfile](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_ColorManagementProvider_GrayScaleColorProfile.htm.md), [RgbColorProfile](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_ColorManagementProvider_RgbColorProfile.htm.md) properties), profile for target device to produce chain color management ([TargetColorProfile](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_ColorManagementProvider_TargetColorProfile.htm.md) property). A color management intent parameter is accessible through [TransformationIntent](https://www.graphicsmill.com/docs/gm5/P_Aurigma_GraphicsMill_ColorManagementProvider_TransformationIntent.htm.md) property.
 
After you set color management up, you can apply color conversions. This class applies two different kinds of color conversion: conversion to indexed pixel formats (color reduction) and conversion to continuous ones.
 
## Examples
  
This sample reduces the number of colors to 64:
 
```
Dim bitmap As New Aurigma.GraphicsMill.Bitmap("c:\parrot.jpg")
bitmap.ColorManagement.Dithering = Aurigma.GraphicsMill.Transforms.DitheringType.FloydSteinberg
bitmap.ColorManagement.DitheringIntensity = 1
bitmap.ColorManagement.PaletteEntryCount = 64
bitmap.ColorManagement.ConvertToIndexed(8, Aurigma.GraphicsMill.ColorPaletteType.Adaptive, _
 Nothing)
bitmap.Save("c:\Gif64ErrorDiffusion.gif")
```
 
```csharp
Aurigma.GraphicsMill.Bitmap bitmap = new Aurigma.GraphicsMill.Bitmap(@"c:\parrot.jpg");
bitmap.ColorManagement.Dithering = Aurigma.GraphicsMill.Transforms.DitheringType.FloydSteinberg;
bitmap.ColorManagement.DitheringIntensity = 1;
bitmap.ColorManagement.PaletteEntryCount = 64;
bitmap.ColorManagement.ConvertToIndexed(8, Aurigma.GraphicsMill.ColorPaletteType.Adaptive, null);        
bitmap.Save(@"c:\Gif64ErrorDiffusion.gif");
```
 
Here is a code which applies the conversion between RGB and CMYK:
 
```
Dim bitmap As New Aurigma.GraphicsMill.Bitmap

'Choose LittleCMS color management engine
bitmap.ColorManagement.ColorManagementEngine = Aurigma.GraphicsMill.Transforms.ColorManagementEngine.LittleCms

'Load RGB image without embedded ICM profile from file
bitmap.Load("C:\Flower.jpg")

'Assign input sRGB profile
bitmap.ColorProfile = Aurigma.GraphicsMill.ColorProfile.FromSrgb

'Assing output CMYK profile for conversion
bitmap.ColorManagement.CmykColorProfile = New Aurigma.GraphicsMill.ColorProfile( _
 "C:\windows\system32\spool\drivers\color\EuroscaleCoated.icc")

'Convert to CMYK
bitmap.ColorManagement.ConvertToContinuous( _
 Aurigma.GraphicsMill.ColorSpace.Cmyk, False, bitmap.IsExtended)
```
 
```csharp
Aurigma.GraphicsMill.Bitmap bitmap = new Aurigma.GraphicsMill.Bitmap();

//Choose LittleCMS color management engine
bitmap.ColorManagement.ColorManagementEngine = Aurigma.GraphicsMill.Transforms.ColorManagementEngine.LittleCms;

//Load RGB image without embedded ICM profile from file
bitmap.Load(@"C:\Flower.jpg");

//Assign input sRGB profile
bitmap.ColorProfile = Aurigma.GraphicsMill.ColorProfile.FromSrgb();

//Assing output CMYK profile for conversion
bitmap.ColorManagement.CmykColorProfile = new Aurigma.GraphicsMill.ColorProfile( 
    @"C:\windows\system32\spool\drivers\color\EuroscaleCoated.icc");

//Convert to CMYK
bitmap.ColorManagement.ConvertToContinuous( 
    Aurigma.GraphicsMill.ColorSpace.Cmyk, false, bitmap.IsExtended);
```
 
## Inheritance Hierarchy
  
- [System.Object](http://msdn2.microsoft.com/en-us/e5kfa45b)
    - [Aurigma.GraphicsMill.LockableObject](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_LockableObject.htm.md)
        - Aurigma.GraphicsMill.ColorManagementProvider
 
## Thread Safety
 Static members of this type are safe for multi-threaded operations. Instance members of this type are safe for multi-threaded operations.
 
## Object Model

[![](https://www.graphicsmill.com/docs/gm5/Aurigma.GraphicsMill_ObjectModel_236.png)](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_ColorManagementProvider.htm.md)
![](https://www.graphicsmill.com/docs/gm5/ObjectModel2.png)[![](https://www.graphicsmill.com/docs/gm5/Aurigma.GraphicsMill_ObjectModel_92.png)](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_ColorProfile.htm.md)
![](https://www.graphicsmill.com/docs/gm5/ObjectModel2.png)[![](https://www.graphicsmill.com/docs/gm5/Aurigma.GraphicsMill_ObjectModel_91.png)](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_ColorProfile.htm.md)
![](https://www.graphicsmill.com/docs/gm5/ObjectModel2.png)[![](https://www.graphicsmill.com/docs/gm5/Aurigma.GraphicsMill_ObjectModel_89.png)](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_ColorProfile.htm.md)
![](https://www.graphicsmill.com/docs/gm5/ObjectModel1.png)[![](https://www.graphicsmill.com/docs/gm5/Aurigma.GraphicsMill_ObjectModel_93.png)](https://www.graphicsmill.com/docs/gm5/T_Aurigma_GraphicsMill_ColorProfile.htm.md)
  
## See Also

### Reference

- [ColorManagementProvider Members](https://www.graphicsmill.com/docs/gm5/AllMembers_T_Aurigma_GraphicsMill_ColorManagementProvider.htm.md)
- [Aurigma.GraphicsMill Namespace](https://www.graphicsmill.com/docs/gm5/N_Aurigma_GraphicsMill.htm.md)
