经过前面一段时间狂乱的baidu&google,目前ArcEngine开的项目算是完成了基本的外观,这次解决的问题是从CAD导成shp文件后,先前在CAD中定义的颜色也是可以读取到的,只不过它的Color值是采用的 ACI 规范,需要转换成RGB我们才方便使用。当然主要的问题是MapControl导入shp文件时,它给每个图层中要素的颜色是随机的,不是原图中所定义的颜色,所以我们需要这样在google中搜索"ArcEngine 修改 图层颜色","ArcEngine 自定义要素颜色",又是一阵狂乱的搜索,当然也能找到一些信息,但最后还是在看那个E文的MSDN帮助时找到了解决办法。上面直接有一例子,这里做了一些修改,贴出来:
public static void DefineFeatureColor(IGeoFeatureLayer pGeoFeatureLayer, string fieldName)
{
//Make the renderer.
IUniqueValueRenderer pUniqueValueRenderer = new UniqueValueRendererClass();
//These properties should be set prior to adding values.
pUniqueValueRenderer.FieldCount = 1;
pUniqueValueRenderer.set_Field(0, fieldName);
IDisplayTable pDisplayTable = pGeoFeatureLayer as IDisplayTable;
IFeatureCursor pFeatureCursor =