先画一条最基本的线段:
pro Grpolyline oWindow=Obj_new('IDLgrWindow',dimension=[800,600]) ;初始化窗口,800*600大小 oView=IDLgrView() oModel=IDLgrModel() oView.Add,oModel x=[-1,1] ;使用归一化坐标系 y=[1,-1] ;正中心为坐标轴,上下组成一个点(x,y) oPolyline=Obj_new('IDLgrPolyline',x,y) oModel.add,oPolyline owindow.draw,oview end效果:
原理:
使用归一化坐标系,X和Y轴的取值范围都在[-1,1]之间。
上述代码中的 x=[-1,1] 与 y=[1,-1] 会构成两个点
取 x 第一个值和 y 第一个值组成(-1,1),是左上角这个点取 x 第二个值和 y 第二个值组成(1,-1),是右下角这个点
效果:
还有其他属性,不一一列举,可查询官方帮助文档。
效果:
原理:
仍然采用归一化坐标系。
上述 data 数组组成4个顶点,不指定顺序时他默认按数组递增顺序对这些顶点进行连接绘制。
我们也可以指定特定的连接顺序:
polylines=[4,0,1,3,2];4个顶点,将上述data的数据按这个0132下标索引的顺序进行链接 oPolyline.SetProperty,POLYLINES=polylines oWindow.Draw,oViewpolylines 数组中的第一个值“4”表示后面会出现4个顶点,0、1、3、2是上面 data 数组的索引(也可以等效指代为某一个顶点),将 oPolyline 的 POLYLINES 属性设置完后,绘制出来就是这种效果:
POLYLINES 属性还有其他用法,比如:
绘制封闭图形:
polylines=[5,0,1,2,3,0] oPolyline.SetProperty,POLYLINES=polylines oWindow.Draw,oView把四个顶点按0-1-2-3-0的顺序连接,就绘制了个矩形。
也可以画十字线:
polylines=[2,0,2,2,1,3];可以写多个,比如这里面就是两组数据,是两条线段 oPolyline.SetProperty,POLYLINES=polylines oWindow.Draw,oViewpolylines中写了两组数据,分别是
2,0,2 表示有两个顶点,由第0个连向第2个2,1,3 表示有两个顶点,由第1个连向第3个还可以画组合的:
polylines=[5,0,1,2,3,0,2,0,2,2,1,3] oPolyline.SetProperty,POLYLINES=polylines oWindow.Draw,oView我们还可以用线对象画各种多边形,比如
四角形链接 三角形链接
我们只需要定好各个顶点后再组织一下线段的连接方式就行,比如这个四角形链接可以用这种方式:
不过,关于多边形的绘制,IDL有专门的对象 IDLgrPolygon 来处理,这个会在下一节写到。
简而言之,polylines 数组可以表明线段的连接方式,由于有些图形不能通过一笔连成,所以他可以在里面填多组数据,每组数据由 顶点数+各详细顶点 组成,这一组绘制完后他会解析下一组。
关于线对象的用法还有它的,比如 polylines 数组的其他限制和用法等等,都可以通过官方文档查询到。
帮助文档可通过在命令行键入英文问号进入。
也可以去安装目录下找:Exelis\IDL83\help\online_help\IDL
用浏览器打开任意一个都可以。