/// <summary>
/// 获得默认的随机生成的符号
/// </summary>
/// <param name="geometryType">实体类型</param>
/// <returns>默认的随机生成的符号</returns>
public static ISymbol GetDefaultSymbol(esriGeometryType geometryType) {
// 生成随机颜色
IRgbColor randomColor = new RgbColorClass();
Random rd = new Random(Guid.NewGuid().GetHashCode());
randomColor.Red = rd.Next(0, 255);
randomColor.Green = rd.Next(0, 255);
randomColor.Blue = rd.Next(0, 255);
return GetSpecifyColorSymbol(geometryType, randomColor as IColor);
}
/// <summary>
/// 获得指定颜色的符号
/// </summary>
/// <param name="geometryType">实体类型</param>
/// <param name="color">符号颜色</param>
/// <returns>指定颜色的符号</returns>
public static ISymbol GetSpecifyColorSymbol(esriGeometryType geometryType, IColor color) {
ISymbol symbol = null;
switch (geometryType) {
case esriGeometryType.esriGeometryLine:
case esriGeometryType.esriGeometryPolyline:
ISimpleLineSymbol lineSymbol = new SimpleLineSymbolClass();
lineSymbol.Color = color;
lineSymbol.Width = 1;
lineSymbol.Style = esriSimpleLineStyle.esriSLSSolid;
symbol = lineSymbol as ISymbol;
break;
case esriGeometryType.esriGeometryPoint:
ISimpleMarkerSymbol markerSymbol = new SimpleMarkerSymbolClass();
markerSymbol.Color = color;
markerSymbol.Size = 2;
markerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;
symbol = markerSymbol as ISymbol;
break;
case esriGeometryType.esriGeometryPolygon:
ISimpleFillSymbol fillSymbol = new SimpleFillSymbolClass();
fillSymbol.Color = color;
fillSymbol.Outline.Color = RgbColorWrapper.GetRGBColor(107, 109, 107);
fillSymbol.Style = esriSimpleFillStyle.esriSFSSolid;
symbol = fillSymbol as ISymbol;
break;
}
return symbol;
}