/// <summary>
/// Create a polygon symbol with a diagonal cross hatch fill. <br/>
/// 
/// </summary>
{
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 =
[
outline, .. diagonalCross
];
//This is the polygon symbol with a diagonal cross hatch fill
CIMPolygonSymbol diagonalCrossHatchFillSymbol = new()
{
SymbolLayers = [.. symbolLayers]
};
//To apply the symbol to a polygon feature layer
//var renderer = theLayer.GetRenderer() as CIMSimpleRenderer;
//renderer.Symbol = diagonalCrossHatchFillSymbol.MakeSymbolReference();
//theLayer.SetRenderer(renderer);
}