This document is archived and information here might be outdated. Recommended version. |
Create a default Cartographic Line Symbol by supplying a line color.
///<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; }
'''<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