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

In This Topic
    GetApplicableColorizers Method
    In This Topic
    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()
    Public Function GetApplicableColorizers() As List(Of RasterColorizerType)

    Return Value

    A collection of RasterColorizerTypes that can be applied to this BasicRasterLayer.
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    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

    ArcGIS Pro version: 3 or higher.
    See Also