AE中绘制图形元素的方法
Element元素对象是一个非常庞杂的对象集合,主要分为两大部分:图形元素(Graphic Element)和框架元素(Frame Element);
图形元素包括GroupElement、MarkerElement、LineElement、TextElement、DataElement、PictureElement、和FillShapeElement等对象,它们都是作为图形的形式而存在的。
IElement是所有图形元素和框架元素都实现的接口,它可以确定元素的Geometry属性,Element是一个抽象类,IElement和ILineElement、ITextElement并不是父子关系,后者没有Geometry属性。
要在视图绘制图形的方法:
1 采用MapControl的DrawShape()方法。
在MapControl控件中通过DrawShape方法绘制的图形,在视图中进行缩放操作之后就会消失,这是因为这些图形本质上都是缓存的,仅仅是暂时存在的。如果要保存这些元素,就需要使用Mxd文件。
ISimpleFillSymbol pSymbol = new SimpleFillSymbolClass();
pSymbol.Color = pColor;
Object symbol = pSymbol;
IGeometry pGeo=axMapControl1.DrawShape(pGeo,ref symbol);
2 用IGraphicsContainer::AddElement把图形元素添加到视图并显示
主要步骤:
1 产生一个新的元素对象;
2 确定元素显示时使用的Symbol(符号)和Geometry(几何对象);
3用IGraphicsContainer::AddElement把图形元素添加到视图并显示
4 刷新视图,让添加的元素可以显示出来。
添加IMarkerElement对象和ILineElement对象
以LineElement为例添加它到视图中需要两个接口:IElement和ILineElement,前者用于确定线元素的Geometr