AE中OnAfterDraw函数中绘制点线面的相关代码

需要提前得到一个IActiveview类型的变量activeView

1、点绘制代码 其中getoffDrawList装载的是IFeature类型的点要素

 1             if (getoffDrawList != null && getoffDrawList.Count > 0 )
 2             {
 3                 IRgbColor getOnOffPtcolor = new RgbColorClass();
 4                 getOnOffPtcolor.Red = 0;
 5                 getOnOffPtcolor.Green = 0;
 6                 getOnOffPtcolor.Blue = 255;
 7                
 8                 ISimpleMarkerSymbol simpleMarkerSym = new SimpleMarkerSymbolClass();
 9                 simpleMarkerSym.Size = 4;
10                 simpleMarkerSym.Color = getOnOffPtcolor as IColor;
11                 activeView.ScreenDisplay.SetSymbol(simpleMarkerSym as ISymbol);
12                 foreach (IFeature getoffFea in getoffDrawList)
13                 {
14                     activeView.ScreenDisplay.DrawPoint(getoffFea.Shape as IPoint);
15                 }               
16             }

2、线绘制代码

 1              if (emptyPathStrDrawList != null && emptyPathStrDrawList.Count > 0)
 2              {
 3                  IRgbColor emptyPathColor = new RgbColorClass();
 4                  emptyPathColor.Red = 255;
 5                  emptyPathColor.Green = 0;
 6                  emptyPathColor.Blue = 0;
 7 
 8                  ISimpleLineSymbol simpleLineSym = new SimpleLineSymbolClass();
 9                  simpleLineSym.Color = emptyPathColor as IColor;
10                  simpleLineSym.Width = 3;               
11  
12                  activeView.ScreenDisplay.SetSymbol(simpleLineSym as ISymbol);
13                  
14                  for (int i = 0; i < emptyPathStrDrawList.Count; i++)
15                  {    
16                     IPolyline emptyLine = emptyPathStrDrawList[i].emptyPathLine;
17                     activeView.ScreenDisplay.DrawPolyline(emptyLine);  
18                  }
19              }

3、面绘制代码

 1             if (drawPolygonList != null && drawPolygonList.Count > 0)
 2             {
 3                 IRgbColor color = new RgbColorClass();
 4                 color.Red = 255;
 5                 color.Green = 0;
 6                 color.Blue = 0;
 7 
 8                 ISimpleLineSymbol lineSymbol = new SimpleLineSymbolClass();
 9                 lineSymbol.Style = esriSimpleLineStyle.esriSLSSolid;
10                 lineSymbol.Width = 1.0;
11                 lineSymbol.Color = color;
12 
13                 ISimpleFillSymbol m_fillSymbol = new SimpleFillSymbolClass();
14                 m_fillSymbol.Color = color;
15                 m_fillSymbol.Style = esriSimpleFillStyle.esriSFSNull;//.esriSFSNull空心多边形//.esriSFSSolid实心多边形
16                 m_fillSymbol.Outline = (ILineSymbol)lineSymbol;
17 
18                 activeView.ScreenDisplay.SetSymbol(m_fillSymbol as ISymbol);
19 
20                 foreach (IPolygon polygon in drawPolygonList)
21                 {
22                     activeView.ScreenDisplay.DrawPolygon(polygon);
23                 }
24             }

 

转载于:https://www.cnblogs.com/lettet/p/4409998.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值