首页 > 软件开发 > IDL二次开发内容介绍

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

IDL二次开发内容介绍

标签:IDL二次开发 2017-7-24 作者:唐明霞


  IDL一直是应用程序开发和科学家进行可视化与分析的首选语言。因为它功能强大,简单易学,很少的几行代码就能实现其他语言很难实现的功能,所以它是进行科学数据分析、可视化表达和跨平台应用开发的高效软件和理想工具。作为第四代语法简单、面向矩阵运算的计算机语言,IDL拥有丰富的分析工具包。同时支持遥感图像处理软件ENVI的二次开发,使得利用IDL进行ENVI二次开发实现数据处理分析和可视化程序变得非常容易。


      C# (C Sharp)是微软公司在2000年6月发布的一种新的编程语言。C#与Java有很多的相似之处,包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。它又借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。


  1 C#调用IDL方式


  C#可以通过COM组件的方式直接调用IDL进行开发。IDL提供了IDLDrawWidget和COM_IDL_CONNECT两个组件,其中IDLDrawWidget组件是带UI的可视组件,COM_IDL_CONNECT是不带UI的功能组件,在实际使用的时候可以根据应用需求选取。


  以IDLDrawWidget组件为例,该组件包含了多种功能方法,如下图,这些方法使得C#在调用的时候方便进行初始化、功能调用、参数传递和事件响应传递。


IDL二次开发1


  2         关键技术


  以在Visual Studio 2008 C#下调用IDLDrawWidget组件为例,分析下调用该组件的关键技术。


  (一)    组件初始化


  与其他ActiveX组件一样,在VisualStudio的工具箱组件上单击鼠标右键,弹出菜单中选择[选择项],见下图。


IDL二次开发二


  弹出的选择工具箱项界面中点击TAB界面[COM组件],列表中找到“IDLDrawWidget Control3.0”并勾选(如下图)。若列表中不存在该组件,点击[浏览]查找IDL安装目录下的子目录“bin\bin.x86”中的“idldrawx3.ocx”文件。


IDL二次开发三


  组件初始化前需要设置组件的IDL安装目录,本机的IDL安装目录可以通过查找注册表选项的方式获取,获取IDL8.0安装路径的C#示例代码如下:


IDL二次开发四


  (二)    功能调用


  IDLDrawWidget组件支持调用IDL的源码文件和sav文件。其中ExecuteStr方法相当于IDL的命令行,而IDL可以使用点命令(见下图)在命令行下进行源码的编译和功能调用。故,通过ExecuteStr方法可以轻松地调用IDL功能。


IDL二次开发五


  使用点命令在命令行下进行源码编译和运行的示例代码:


IDLl二次开发六


  (三)    数据传递


  IDLDrawWidget组件通过SetNamedArray、SetNameData等方法进行数据传递,C#与IDL之间支持基本的数据类型变量和数组传递(表3)


IDL二次开发七


  (四)    事件传递


  IDLDrawWidget组件可以在C#或IDL下响应键盘和鼠标事件。即通过C#主程序可以触发组件的事件并由IDL事件响应程序进行响应。组件的事件响应处理方式与组件的RegisterForEvents值有关,各个值的含义见表4。


  组件界面中添加鼠标滚轮事件的示例代码如下:


IDL二次开发八


  IDL中的响应该事件的代码如下:


IDL二次开发九


  类似的方式可以添加鼠标拉框放大和缩小等功能,即通过C#与IDLDrawWidget组件构建了一个完整的图像显示与基本处理程序,通过鼠标可以对显示图像进行放大、缩小和平移操作,并通过IDL实现了基本的图像处理、投影变换和仿真模拟功能。


IDL二次开发十


  3 结束语


  通过IDLDrawWidget等组件提供的方法,C#可以方便灵活地集成IDL程序,轻松搭建可视化分析与处理系统的框架,快速集成IDL的可视化分析与处理功能。这样充分发挥各语言的优势,构建复杂的可视化应用与分析的系统将会变得非常方便。



       以上就是小编介绍的IDL二次开发及相关内容,想要了解更多讯息,请关注猪八戒网服务购行业资讯。

最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才