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             }
时间: 2024-11-03 11:35:02

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

软件测试中LoadRunner函数中的几个陷阱

软件测试 中 LoadRunner 函数中的几个陷阱 1.atof 在 loadrunner 中如果直接用 float f; f=atof("123.00"); lr _output_message("%f",f); 输出的结果会是1244128.00,根本不是我们想要的. 因为float,double型在不同的平台下长度不一样,所以在loadrunner 软件测试中LoadRunner函数中的几个陷阱 1.atof 在loadrunner中如果直接用 float

苹果浏览器Safari对JS函数库中newDate()函数中的参数的解析中不支持形如“2020-01-01”形式

苹果浏览器safari对new Date('1937-01-01')不支持,用.replace(/-/g, "/")函数替换掉中划线即可 如果不做处理,会报错:invalid date 本解决方案参考:http://stackoverflow.com/questions/4310953/invalid-date-in-safari

Javascript中的函数中的this值

看下面这段代码会在控制台上输出什么内容? 1 <script> 2 var url="fang.com"; 3 var obj={ 4 url:"soufun.com", 5 func:function(){ 6 return this.url; 7 } 8 }; 9 10 console.log((obj.func)()); 11 console.log((1&&obj.func)()) 12 </script> 答案是 1

继承过程中对函数中this的认识

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <script> 9 var a = { 10 x:10, 11 cc:function(z){ 12 return this

Python中print函数中中逗号和加号的区别

先看看print中逗号和加号分别打印出来的效果.. 这里以Python3为例 1 print("hello" + "world") helloworld 1 print("hello", "world") hello world 这里发现加号的作用是连接字符串 而逗号相当于用空格连接字符串. 尝试一下不同数据类型的操作.. 1 print("hello" + 123) TypeError: must be

React中render函数中变量map中事件无法关联的解决办法

如下所示的代码,Input的checkbox可以正常显示3个,但是都无法和 handleChange关联上. 由于代码无法正常显示,我用图片 var Input = ReactBootstrap.Input; var TestCom = React.createClass({ getInitialState: function() { return {value: 'Hello!', value2: 'nihao2' }; }, handleChange: function(event) { v

泊松表面重建中主函数中部分代码分析-关于内存设置

1 //总体来看是和内存设置有关的 2 #if defined(WIN32) && defined(MAX_MEMORY_GB) 3 if( MAX_MEMORY_GB>0 ) 4 { 5 //SIZE_T是ULONG_PTR类型又是unsigned __int64类型取值范围为2到2的64次方,貌似和64为操作系统支持的理论内存值有关系 6 SIZE_T peakMemory = 1; 7 peakMemory <<= 30;//peakMemory等于peakMemo

urllib模块中parse函数中的urlencode和quote_plus方法

本来只是向看一下quote_plus的作用,然后发现urlencode方法也是很方便的一个组合字符串的方法首先是介绍一下urlencode,他是将一些传入的元素使用&串联起来,效果如下: >>>params = { "appid": 1, "mch_id": 1, "body": 1, "out_trade_no": 1, "total_fee": 1, "spbill_

把数据写入txt中 open函数中 a与w的区别

a: 打开一个文件用于追加.如果该文件已存在,文件指针将会放在文件的结尾. 也就是说,新的内容将会被写入到已有内容之后.如果该文件不存在,创建新文件进行写入. w:  打开一个文件只用于写入.如果该文件已存在则打开文件,并从开头开始编辑, 即原有内容会被删除.如果该文件不存在,创建新文件. 简单说a类似于append,每次运行在原有基础上增加,而w是覆盖. open模式设为a运行两次 代码: 1 filename = 'test.txt' 2 file = open(filename, 'a')