ASP.net:


/// <summary>
/// 设置专题图样式面图层样式
/// </summary>
/// <param name="objThemeR"></param>
/// <param name="nDtType"></param>
private void SetThemeStyle(SuperMap.IS.Utility.Style style, RangeTheme objThemeR, System.Drawing.Color[] ThemeColor)
{
objThemeR.Displays = new SuperMap.IS.Utility.Style[ThemeColor.Length];
for (int i = 0; i < ThemeColor.Length; i++)
{
objThemeR.Displays[i] = new SuperMap.IS.Utility.Style();
objThemeR.Displays[i].BrushColor = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.FromArgb(ThemeColor[i].R, ThemeColor[i].G, ThemeColor[i].B));
//objThemeR.Displays[i].PenColor = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.FromArgb(ThemeColor[i].R, ThemeColor[i].G, ThemeColor[i].B));
objThemeR.Displays[i].SymbolRotation = style.SymbolRotation;
objThemeR.Displays[i].SymbolStyle = style.SymbolStyle;
objThemeR.Displays[i].SymbolSize = style.SymbolSize;
}
}
/// <summary>
/// 设置专题图样式点图层样式
/// </summary>
/// <param name="objThemeR"></param>
/// <param name="nDtType"></param>
private void SetThemePointStyle(SuperMap.IS.Utility.Style style, RangeTheme objThemeR, System.Drawing.Color[] ThemeColor)
{
objThemeR.Displays = new SuperMap.IS.Utility.Style[ThemeColor.Length];
for (int i = 0; i < ThemeColor.Length; i++)
{
objThemeR.Displays[i] = new SuperMap.IS.Utility.Style();
objThemeR.Displays[i].BrushColor = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.FromArgb(ThemeColor[i].R, ThemeColor[i].G, ThemeColor[i].B));
objThemeR.Displays[i].PenColor = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.FromArgb(ThemeColor[i].R, ThemeColor[i].G, ThemeColor[i].B));
objThemeR.Displays[i].SymbolRotation = style.SymbolRotation;
objThemeR.Displays[i].SymbolStyle = style.SymbolStyle;
objThemeR.Displays[i].SymbolSize = style.SymbolSize;
}
}
桌面版:


/// <summary>
/// 设置专题图样式
/// </summary>
/// <param name="objThemeR"></param>
/// <param name="nDtType"></param>
private void SetThemeStyle(soStyle style, soThemeRange objThemeR, seDatasetType nDtType, Color[] ThemeColor)
{
for (int i = 0; i < ThemeColor.Length; i++)
{
soStyle objStyle = new soStyle();
if (nDtType == seDatasetType.scdRegion)
{
objStyle.BrushColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(ThemeColor[i].R, ThemeColor[i].G, ThemeColor[i].B)));
objThemeR.set_Style(i + 1, objStyle);
}
else
{
objStyle.PenColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(ThemeColor[i].R, ThemeColor[i].G, ThemeColor[i].B)));
objStyle.SymbolStyle = style.SymbolStyle;
objStyle.SymbolSize = style.SymbolSize;
objStyle.SymbolRotation = style.SymbolRotation;
objThemeR.set_Style(i + 1, objStyle);
}
Marshal.ReleaseComObject(objStyle);
objStyle = null;
}
}