ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / BasicRasterLayer Class / GetApplicableColorizers Method
Example

GetApplicableColorizers Method
Gets a list of the RasterColorizerTypes that can be applied to this BasicRasterLayer. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public List<RasterColorizerType> GetApplicableColorizers()

Return Value

A collection of RasterColorizerTypes that can be applied to this BasicRasterLayer.
Example
Check if a certain colorizer can be applied to a raster layer
await QueuedTask.Run(() =>
{
  // Get the list of colorizers that can be applied to the raster layer.
  IEnumerable<RasterColorizerType> applicableColorizerList = rasterLayer.GetApplicableColorizers();
  // Check if the RGB colorizer is part of the list.
  bool isTrue_ContainTheColorizerType =
    applicableColorizerList.Contains(RasterColorizerType.RGBColorizer);
});
Create a new colorizer based on a default colorizer definition and apply it to the raster layer
await QueuedTask.Run(async () =>
{
  // Check if the Stretch colorizer can be applied to the raster layer.
  if (rasterLayer.GetApplicableColorizers().Contains(RasterColorizerType.StretchColorizer))
  {
    // Create a new Stretch Colorizer Definition using the default constructor.
    StretchColorizerDefinition stretchColorizerDef_default = new StretchColorizerDefinition();
    // Create a new Stretch colorizer using the colorizer definition created above.
    CIMRasterStretchColorizer newStretchColorizer_default =
      await rasterLayer.CreateColorizerAsync(stretchColorizerDef_default) as CIMRasterStretchColorizer;
    // Set the new colorizer on the raster layer.
    rasterLayer.SetColorizer(newStretchColorizer_default);
  }
});
Create a new colorizer based on a custom colorizer definition and apply it to the raster layer
await QueuedTask.Run(async () =>
{
  // Check if the Stretch colorizer can be applied to the raster layer.
  if (rasterLayer.GetApplicableColorizers().Contains(RasterColorizerType.StretchColorizer))
  {
    // Create a new Stretch Colorizer Definition specifying parameters 
    // for band index, stretch type, gamma and color ramp.
    StretchColorizerDefinition stretchColorizerDef_custom =
      new StretchColorizerDefinition(1, RasterStretchType.ESRI, 2, colorRamp);
    // Create a new stretch colorizer using the colorizer definition created above.
    CIMRasterStretchColorizer newStretchColorizer_custom =
      await rasterLayer.CreateColorizerAsync(stretchColorizerDef_custom) as CIMRasterStretchColorizer;
    // Set the new colorizer on the raster layer.
    rasterLayer.SetColorizer(newStretchColorizer_custom);
  }
});
Check if a certain colorizer can be applied to a mosaic layer
await QueuedTask.Run(() =>
{
  // Get the image sub-layer from the mosaic layer.
  ImageMosaicSubLayer mosaicImageSubLayer = mosaicLayer.GetImageLayer();
  // Get the list of colorizers that can be applied to the image sub-layer.
  IEnumerable<RasterColorizerType> applicableColorizerList =
    mosaicImageSubLayer.GetApplicableColorizers();
  // Check if the RGB colorizer is part of the list.
  bool isTrue_ContainTheColorizerType =
    applicableColorizerList.Contains(RasterColorizerType.RGBColorizer);
});
Create a new colorizer based on a default colorizer definition and apply it to the mosaic layer
await QueuedTask.Run(async () =>
{
  // Get the image sub-layer from the mosaic layer.
  ImageMosaicSubLayer mosaicImageSubLayer = mosaicLayer.GetImageLayer();
  // Check if the Stretch colorizer can be applied to the image sub-layer.
  if (mosaicImageSubLayer.GetApplicableColorizers().Contains(RasterColorizerType.StretchColorizer))
  {
    // Create a new Stretch Colorizer Definition using the default constructor.
    StretchColorizerDefinition stretchColorizerDef_default = new StretchColorizerDefinition();
    // Create a new Stretch colorizer using the colorizer definition created above.
    CIMRasterStretchColorizer newStretchColorizer_default =
      await mosaicImageSubLayer.CreateColorizerAsync(stretchColorizerDef_default) as CIMRasterStretchColorizer;
    // Set the new colorizer on the image sub-layer.
    mosaicImageSubLayer.SetColorizer(newStretchColorizer_default);
  }
});
Create a new colorizer based on a custom colorizer definition and apply it to the mosaic layer
await QueuedTask.Run(async () =>
{
  // Get the image sub-layer from the mosaic layer.
  ImageMosaicSubLayer mosaicImageSubLayer = mosaicLayer.GetImageLayer();
  // Check if the Stretch colorizer can be applied to the image sub-layer.
  if (mosaicImageSubLayer.GetApplicableColorizers().Contains(RasterColorizerType.StretchColorizer))
  {
    // Create a new Stretch colorizer definition specifying parameters
    // for band index, stretch type, gamma and color ramp.
    StretchColorizerDefinition stretchColorizerDef_custom =
      new StretchColorizerDefinition(1, RasterStretchType.ESRI, 2, colorRamp);
    // Create a new stretch colorizer using the colorizer definition created above.
    CIMRasterStretchColorizer newStretchColorizer_custom =
      await mosaicImageSubLayer.CreateColorizerAsync(stretchColorizerDef_custom) as CIMRasterStretchColorizer;
    // Set the new colorizer on the image sub-layer.
    mosaicImageSubLayer.SetColorizer(newStretchColorizer_custom);
  }
});
Check if a certain colorizer can be applied to an image service layer
await QueuedTask.Run(() =>
{
  // Get the list of colorizers that can be applied to the imager service layer.
  IEnumerable<RasterColorizerType> applicableColorizerList = isLayer.GetApplicableColorizers();
  // Check if the RGB colorizer is part of the list.
  bool isTrue_ContainTheColorizerType =
    applicableColorizerList.Contains(RasterColorizerType.RGBColorizer);
});
Create a new colorizer based on a default colorizer definition and apply it to the image service layer
await QueuedTask.Run(async () =>
{
  // Check if the Stretch colorizer can be applied to the image service layer.
  if (isLayer.GetApplicableColorizers().Contains(RasterColorizerType.StretchColorizer))
  {
    // Create a new Stretch Colorizer Definition using the default constructor.
    StretchColorizerDefinition stretchColorizerDef_default = new StretchColorizerDefinition();
    // Create a new Stretch colorizer using the colorizer definition created above.
    CIMRasterStretchColorizer newStretchColorizer_default =
      await isLayer.CreateColorizerAsync(stretchColorizerDef_default) as CIMRasterStretchColorizer;
    // Set the new colorizer on the image service layer.
    isLayer.SetColorizer(newStretchColorizer_default);
  }
});
Create a new colorizer based on a custom colorizer definition and apply it to the image service layer
await QueuedTask.Run(async () =>
{
  // Check if the Stretch colorizer can be applied to the image service layer.
  if (isLayer.GetApplicableColorizers().Contains(RasterColorizerType.StretchColorizer))
  {
    // Create a new Stretch Colorizer Definition specifying parameters
    // for band index, stretch type, gamma and color ramp. 
    StretchColorizerDefinition stretchColorizerDef_custom =
      new StretchColorizerDefinition(1, RasterStretchType.ESRI, 2, colorRamp);
    // Create a new stretch colorizer using the colorizer definition created above.
    CIMRasterStretchColorizer newStretchColorizer_custom =
      await isLayer.CreateColorizerAsync(stretchColorizerDef_custom) as CIMRasterStretchColorizer;
    // Set the new colorizer on the image service layer.
    isLayer.SetColorizer(newStretchColorizer_custom);
  }
});
Requirements

Target Platforms: Windows 11, Windows 10, Windows 8.1

ArcGIS Pro version: 2.0 or higher.
See Also