ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / ColorRampStyleItem Class
Members Example

In This Topic
    ColorRampStyleItem Class
    In This Topic
    Represents a color ramp saved in a style.
    Object Model
    ColorRampStyleItem ClassCIMColorRamp Class
    Syntax
    Public Class ColorRampStyleItem 
       Inherits StyleItem
       Implements System.ComponentModel.INotifyPropertyChanged 
    public class ColorRampStyleItem : StyleItem, System.ComponentModel.INotifyPropertyChanged  
    Example
    How to search for color ramps in a style
    {
        //StyleProjectItem can be "ColorBrewer Schemes (RGB)", "ArcGIS 2D"...
        //Search for color ramps
        //Color Ramp searchString can be "Spectral (7 Classes)", "Pastel 1 (3 Classes)", "Red-Gray (10 Classes)"..
        styleProjectItem.SearchColorRamps("searchString");
    }
    Create a feature layer with class breaks renderer
    {
        string colorBrewerSchemesName = "ColorBrewer Schemes (RGB)";
        StyleProjectItem colorBrewerStyle = Project.Current.GetItems<StyleProjectItem>().First(s => s.Name == colorBrewerSchemesName);
        string colorRampName = "Greens (Continuous)";
        //Note: Needs QueuedTask to run
        IList<ColorRampStyleItem> colorRampListFromTheStyle = colorBrewerStyle.SearchColorRamps(colorRampName);
    
        ColorRampStyleItem colorRampFound = colorRampList[0];
        GraduatedColorsRendererDefinition gcDef = new GraduatedColorsRendererDefinition()
        {
            ClassificationField = "CROP_ACR07",
            ClassificationMethod = ArcGIS.Core.CIM.ClassificationMethod.NaturalBreaks,
            BreakCount = 6,
            ColorRamp = colorRampFound.ColorRamp,
            SymbolTemplate = SymbolFactory.Instance.ConstructPolygonSymbol(
                                  ColorFactory.Instance.GreenRGB, SimpleFillStyle.Solid, null).MakeSymbolReference(),
            ExclusionClause = "CROP_ACR07 = -99",
            ExclusionSymbol = SymbolFactory.Instance.ConstructPolygonSymbol(
                                  ColorFactory.Instance.RedRGB, SimpleFillStyle.Solid, null).MakeSymbolReference(),
            ExclusionLabel = "No yield",
        };
        var featureLayerCreationParams = new FeatureLayerCreationParams((new Uri(@"c:\Data\CountyData.gdb\Counties")))
        {
            Name = "Crop",
            RendererDefinition = gcDef
        };
        //Note: Needs QueuedTask to run
        LayerFactory.Instance.CreateLayer<FeatureLayer>(featureLayerCreationParams, MapView.Active.Map);
    }
    Create and Set a Stretch Renderer
    {
      // Note: call within QueuedTask.Run()
      {
        var fields = pointCloudSceneLayer.GetAvailablePointCloudRendererFields(
                                PointCloudRendererType.StretchRenderer);
        var stretchDef = new PointCloudRendererDefinition(
                                  PointCloudRendererType.StretchRenderer)
        {
          //Will be either ELEVATION or INTENSITY
          Field = fields[0]
        };
        //Create the CIM Renderer
        var stretchRenderer = pointCloudSceneLayer.CreateRenderer(stretchDef)
                                            as CIMPointCloudStretchRenderer;
        //Apply a color ramp
        var style = Project.Current.GetItems<StyleProjectItem>()
                                        .First(s => s.Name == "ArcGIS Colors");
        var colorRamp = style.SearchColorRamps("").First();
        stretchRenderer.ColorRamp = colorRamp.ColorRamp;
        //Apply modulation
        stretchRenderer.ColorModulation = new CIMColorModulationInfo()
        {
          MinValue = 0,
          MaxValue = 100
        };
        //apply the renderer
        pointCloudSceneLayer.SetRenderer(stretchRenderer);
      }
    }
    Create and Set a ClassBreaks Renderer
    {
      // Note: call within QueuedTask.Run()
      {
        var fields = pointCloudSceneLayer.GetAvailablePointCloudRendererFields(
                           PointCloudRendererType.ClassBreaksRenderer);
        var classBreakDef = new PointCloudRendererDefinition(
                                  PointCloudRendererType.ClassBreaksRenderer)
        {
          //ELEVATION or INTENSITY
          Field = fields[0]
        };
        //create the renderer
        var cbr = pointCloudSceneLayer.CreateRenderer(classBreakDef)
                                  as CIMPointCloudClassBreaksRenderer;
        //Set up a color scheme to use
        var style = Project.Current.GetItems<StyleProjectItem>()
                                   .First(s => s.Name == "ArcGIS Colors");
        var rampStyle = style.LookupItem(
          StyleItemType.ColorRamp, "Spectrum By Wavelength-Full Bright_Multi-hue_2")
                                                                    as ColorRampStyleItem;
        var colorScheme = rampStyle.ColorRamp;
        //Set up 6 manual class breaks
        var breaks = 6;
        var colors = ColorFactory.Instance.GenerateColorsFromColorRamp(
                                                    colorScheme, breaks);
        var classBreaks = new List<CIMColorClassBreak>();
        var min = cbr.Breaks[0].UpperBound;
        var max = cbr.Breaks[cbr.Breaks.Count() - 1].UpperBound;
        var step = (max - min) / (double)breaks;
    
        //add in the class breaks
        double upper = min;
        for (int b = 1; b <= breaks; b++)
        {
          double lower = upper;
          upper = b == breaks ? max : min + (b * step);
          var cb = new CIMColorClassBreak()
          {
            UpperBound = upper,
            Label = string.Format("{0:#0.0#} - {1:#0.0#}", lower, upper),
            Color = colors[b - 1]
          };
          classBreaks.Add(cb);
        }
        cbr.Breaks = classBreaks.ToArray();
        pointCloudSceneLayer.SetRenderer(cbr);
      }
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
          ArcGIS.Desktop.Mapping.StyleItem
             ArcGIS.Desktop.Mapping.ColorRampStyleItem

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also