IDL界面程序直接调用envi菜单对应功能的实现方法
分享
ENVI软件具备强大的二次开发功能,提供了绝大多数功能的函数调用接口。但二次开发的时候需要自己编写处理和操作界面,很多时候这也是个头疼的问题。如果希望在自己的程序界面中直接调用envi的功能,可以通过下面的方式。
一、背景知识:
ENVI的菜单系统,包括主菜单和显示窗口菜单,是由ENVI安装目录下menu目录下的envi.men和display.men这两个ASCII码文件定义的。Windows系统上menu的路径为itt\idlxx\products\envixx\menu。
envi.men文件定义了ENVI主菜单中的选项,display.men文件定义了显示窗口菜单中的选项。每次ENVI启动的时候,这两个文件被读入并根据其内容构建ENVI的菜单。在菜单中添加内容,只需在这两个文件中添加相应的内容并重启ENVI即可。
使用任何文本编辑器就可以打开envi.men文件。在文件的顶部有些介绍的注释文本。注释结束后,就是如下的文件的结构:
0 {File}
1 {Open Image File} {open envi file} {envi_menu_event}
1 {Open Vector File} {open vector file} {envi_menu_event}
1 {Open Remote File} {open remote file} {envi_menu_event}
1 {Open External File} {separator}
2 {Landsat}
3 {Fast} {open eosat tm} {envi_menu_event}
每一行开始的数据定义了菜单项的层次。0表示最顶层,1表示一级子菜单,2表示二级子菜单,如此类推。
{Open Image File}第一个大括号的部分定义了显示在菜单上的内容。
{open envi file}第二个大括号的部分定义了为菜单项所赋给的用户值(uValue),基于用户值可以判别哪个菜单项被点击了。
{envi_menu_event}第三个大括号定义了菜单项事件处理程序的名称,即编写的用户函数名。该处使用的是函数名,而不是用户函数所在的文件名,所以没有后缀。
二、应用
以envi下的统计功能为例,调用时首先明确菜单内容,如下:
创建按钮时,{Compute Statistics}代表是value,{compute file stats} 代表uvalue, {envi_menu_event}代表的是event_pro。
完整代码如下:
注:此种调用方法非官方正式发布,不能保证程序调用时的功能运行的完整性性,仅供参考 学习 研究使用。
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d010115qu.html
一、背景知识:
ENVI的菜单系统,包括主菜单和显示窗口菜单,是由ENVI安装目录下menu目录下的envi.men和display.men这两个ASCII码文件定义的。Windows系统上menu的路径为itt\idlxx\products\envixx\menu。
envi.men文件定义了ENVI主菜单中的选项,display.men文件定义了显示窗口菜单中的选项。每次ENVI启动的时候,这两个文件被读入并根据其内容构建ENVI的菜单。在菜单中添加内容,只需在这两个文件中添加相应的内容并重启ENVI即可。
使用任何文本编辑器就可以打开envi.men文件。在文件的顶部有些介绍的注释文本。注释结束后,就是如下的文件的结构:
0 {File}
1 {Open Image File} {open envi file} {envi_menu_event}
1 {Open Vector File} {open vector file} {envi_menu_event}
1 {Open Remote File} {open remote file} {envi_menu_event}
1 {Open External File} {separator}
2 {Landsat}
3 {Fast} {open eosat tm} {envi_menu_event}
每一行开始的数据定义了菜单项的层次。0表示最顶层,1表示一级子菜单,2表示二级子菜单,如此类推。
{Open Image File}第一个大括号的部分定义了显示在菜单上的内容。
{open envi file}第二个大括号的部分定义了为菜单项所赋给的用户值(uValue),基于用户值可以判别哪个菜单项被点击了。
{envi_menu_event}第三个大括号定义了菜单项事件处理程序的名称,即编写的用户函数名。该处使用的是函数名,而不是用户函数所在的文件名,所以没有后缀。
二、应用
以envi下的统计功能为例,调用时首先明确菜单内容,如下:
创建按钮时,{Compute Statistics}代表是value,{compute file stats} 代表uvalue, {envi_menu_event}代表的是event_pro。
完整代码如下:
注:此种调用方法非官方正式发布,不能保证程序调用时的功能运行的完整性性,仅供参考 学习 研究使用。
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d010115qu.html
0 个评论
相关问题
- 安装完arcgis10.3后,为何没有Envi tools这个工具箱?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- 如何使用脚本或其他方法,将图层属性中属性域原值内容替换为属性域描述?
- ENVI中Image to Map中X/Y Pixel Size的参数如何设置?
- Arcgis for server 集群调用
- 在模型构建器中实现计算几何
- arcgis api for javascript 4.0版本中找不到draw工具,如何实现拉框查询、几何查询?
- ArcGIS Server制作的缓存地图服务中,能否实现大比例尺下楼房阴影类似的3d效果?
- arcgis 门户能正常访问,但是arcgis server 管理界面打不开?
- 基于ArcGIS的CAD数据向GIS数据转换方法
- Engine中如何实现要素图层的反选?