Create a default Cartographic Line Symbol by supplying a line color.
[C#]
///<summary>Create a default Cartographic Line Symbol by supplying a line color.</summary>
///
///<param name="rgbColor">An IRgbColor interface that is colro for the Cartographic Line Symbol.</param>
///
///<returns>An ICartographicLineSymbol interface.</returns>
///
///<remarks></remarks>
public ESRI.ArcGIS.Display.ICartographicLineSymbol CreateCartographicLineSymbol(ESRI.ArcGIS.Display.IRgbColor rgbColor)
{
if(rgbColor == null)
{
return null;
}
// Makes a new Cartographic Line symbol and sets its properties
ESRI.ArcGIS.Display.ICartographicLineSymbol cartographicLineSymbol = new ESRI.ArcGIS.Display.CartographicLineSymbolClass();
// In order to set additional properties like offsets and dash patterns we must create an ILineProperties object
ESRI.ArcGIS.Display.ILineProperties lineProperties = cartographicLineSymbol as ESRI.ArcGIS.Display.ILineProperties;
lineProperties.Offset = 0;
// Here's how to do a template for the pattern of marks and gaps
System.Double[] hpe = new System.Double[6];
hpe[0] = 0;
hpe[1] = 7;
hpe[2] = 1;
hpe[3] = 1;
hpe[4] = 1;
hpe[5] = 0;
ESRI.ArcGIS.Display.ITemplate template = new ESRI.ArcGIS.Display.TemplateClass();
template.Interval = 1;
for (System.Int32 i = 0; i < hpe.Length; i = i + 2)
{
template.AddPatternElement(hpe[i], hpe[i + 1]);
}
lineProperties.Template = template;
// Set the basic and cartographic line properties
cartographicLineSymbol.Width = 2;
cartographicLineSymbol.Cap = ESRI.ArcGIS.Display.esriLineCapStyle.esriLCSButt;
cartographicLineSymbol.Join = ESRI.ArcGIS.Display.esriLineJoinStyle.esriLJSBevel;
cartographicLineSymbol.Color = rgbColor;
return cartographicLineSymbol;
}
[Visual Basic .NET]
'''<summary>Create a default Cartographic Line Symbol by supplying a line color.</summary>
'''
'''<param name="rgbColor">An IRgbColor interface that is colro for the Cartographic Line Symbol.</param>
'''
'''<returns>An ICartographicLineSymbol interface.</returns>
'''
'''<remarks></remarks>
Public Function CreateCartographicLineSymbol(ByVal rgbColor As ESRI.ArcGIS.Display.IRgbColor) As ESRI.ArcGIS.Display.ICartographicLineSymbol
If rgbColor Is Nothing Then
Return Nothing
End If
' Makes a new Cartographic Line symbol and sets its properties
Dim cartographicLineSymbol As ESRI.ArcGIS.Display.ICartographicLineSymbol = New ESRI.ArcGIS.Display.CartographicLineSymbolClass
' In order to set additional properties like offsets and dash patterns we must create an ILineProperties object
Dim lineProperties As ESRI.ArcGIS.Display.ILineProperties = TryCast(cartographicLineSymbol, ESRI.ArcGIS.Display.ILineProperties) ' Dynamic Cast
lineProperties.Offset = 0
' Here's how to do a template for the pattern of marks and gaps
Dim hpe As System.Double() = New System.Double(5){}
hpe(0) = 0
hpe(1) = 7
hpe(2) = 1
hpe(3) = 1
hpe(4) = 1
hpe(5) = 0
Dim template As ESRI.ArcGIS.Display.ITemplate = New ESRI.ArcGIS.Display.TemplateClass
template.Interval = 1
Dim i As System.Int32 = 0
Do While i < hpe.Length
template.AddPatternElement(hpe(i), hpe(i + 1))
i = i + 2
Loop
lineProperties.Template = template
' Set the basic and cartographic line properties
cartographicLineSymbol.Width = 2
cartographicLineSymbol.Cap = ESRI.ArcGIS.Display.esriLineCapStyle.esriLCSButt
cartographicLineSymbol.Join = ESRI.ArcGIS.Display.esriLineJoinStyle.esriLJSBevel
cartographicLineSymbol.Color = rgbColor
Return cartographicLineSymbol
End Function