ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMFill Class
Members Example

In This Topic
    CIMFill Class
    In This Topic
    Represents a fill which defines how the polygonal geometry is drawn.
    Syntax
    Example
    Snippet Diagonal cross hatch fill
    /// <summary>
    /// Create a polygon symbol with a diagonal cross hatch fill. <br/>
    /// ![PolygonSymbolDiagonalCrossHatch](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/polygon-diagonal-crosshatch.png)
    /// </summary>
    /// <returns></returns>
    public static Task<CIMPolygonSymbol> CreateDiagonalCrossPolygonAsync()
    {
        return QueuedTask.Run<CIMPolygonSymbol>(() =>
        {
            var trans = 50.0;//semi transparent
            CIMStroke outline = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(0, 0, 0, trans), 2.0, SimpleLineStyle.Solid);
    
            //Stroke for the fill
            var solid = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(255, 0, 0, trans), 1.0, SimpleLineStyle.Solid);
    
            //Mimic cross hatch
            CIMFill[] diagonalCross =
                {
                new CIMHatchFill() {
                    Enable = true,
                    Rotation = 45.0,
                    Separation = 5.0,
                    LineSymbol = new CIMLineSymbol() { SymbolLayers = new CIMSymbolLayer[1] { solid } }
                },
                new CIMHatchFill() {
                    Enable = true,
                    Rotation = -45.0,
                    Separation = 5.0,
                    LineSymbol = new CIMLineSymbol() { SymbolLayers = new CIMSymbolLayer[1] { solid } }
                }
            };
            List<CIMSymbolLayer> symbolLayers = new List<CIMSymbolLayer>
            {
                outline
            };
            foreach (var fill in diagonalCross)
                symbolLayers.Add(fill);
            return new CIMPolygonSymbol() { SymbolLayers = symbolLayers.ToArray() };
        });
    }
    Snippet Gradient color fill using CIMGradientFill
    /// <summary>
    /// Create a polygon symbol with a gradient color fill. <br/>
    /// ![PolygonSymbolGradientColor](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/polygon-gradient-color.png)
    /// </summary>
    /// <remarks>
    /// 1. Create a solid colored stroke with 50% transparency
    /// 1. Create a fill using gradient colors red through green
    /// 1. Apply both the stroke and fill as a symbol layer array to the new PolygonSymbol
    /// </remarks>
    /// <returns></returns>
    public static Task<CIMPolygonSymbol> CreateGradientFillAsync()
    {
        return QueuedTask.Run<CIMPolygonSymbol>(() =>
        {
            var trans = 50.0;//semi transparent
            CIMStroke outline = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(0, 0, 0, trans), 2.0, SimpleLineStyle.Solid);
            //Mimic cross hatch
            CIMFill solidColorHatch =
             new CIMGradientFill()
             {
                 ColorRamp = ColorFactory.Instance.ConstructColorRamp(ColorRampAlgorithm.LinearContinuous,
                                    ColorFactory.Instance.RedRGB, ColorFactory.Instance.GreenRGB)
             };
            List<CIMSymbolLayer> symbolLayers = new List<CIMSymbolLayer>
            {
                outline,
                solidColorHatch
            };
    
            return new CIMPolygonSymbol() { SymbolLayers = symbolLayers.ToArray() };
        });
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CIM.CIMObject
          ArcGIS.Core.CIM.CIMSymbolLayer
             ArcGIS.Core.CIM.CIMFill
                ArcGIS.Core.CIM.CIMGradientFill
                ArcGIS.Core.CIM.CIMHatchFill
                ArcGIS.Core.CIM.CIMPictureFill
                ArcGIS.Core.CIM.CIMSolidFill
                ArcGIS.Core.CIM.CIMWaterFill

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also