错误
出现上述问题添加以下代码即可
public Color ConvertIRgbColorToColor(IRgbColor pRgbColor)
颜色转换(来源:http://3sdn.net/arcgis/7-add-layer-symbol-selector/)
在ArcGIS Engine中,颜色由IRgbColor接口实现,而在.NET框架中,颜色则由Color结构表示。故在调整颜色参数之前,我们必须完成以上两种不同颜色表示方式的转换。关于这两种颜色结构的具体信息,请大家自行查阅相关资料。下面添加两个颜色转换函数。
ArcGIS Engine中的IRgbColor接口转换至.NET中的Color结构的函数:
/// <summary> /// 将ArcGIS Engine中的IRgbColor接口转换至.NET中的Color结构 /// </summary> /// <param name="pRgbColor">IRgbColor</param> /// <returns>.NET中的System.Drawing.Color结构表示ARGB颜色</returns> public Color ConvertIRgbColorToColor(IRgbColor pRgbColor) { return ColorTranslator.FromOle(pRgbColor.RGB); } .NET中的Color结构转换至于ArcGIS Engine中的IColor接口的函数: /// <summary> /// 将.NET中的Color结构转换至于ArcGIS Engine中的IColor接口 /// </summary> /// <param name="color">.NET中的System.Drawing.Color结构表示ARGB颜色</param> /// <returns>IColor</returns> public IColor ConvertColorToIColor(Color color) { IColor pColor = new RgbColorClass(); pColor.RGB = color.B * 65536 + color.G * 256 + color.R; return pColor; }