Represents a fill which defines how the polygonal geometry is drawn.
Snippet Diagonal cross hatch fill
/// <summary>
/// Create a polygon symbol with a diagonal cross hatch fill. <br/>
/// 
/// </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/>
/// 
/// </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() };
});
}
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.