洪水调度系统中TrueType字体的扩展应用

2011-10-26 06:20杨敏刘云
中国科技信息 2011年11期
关键词:洞庭湖箭头调用

杨敏 刘云

1.荆州市长江勘察设计院,湖北 荆州 434023;2. 长江大学石油工程学院,湖北 荆州 434023

洪水调度系统中TrueType字体的扩展应用

杨敏1刘云2

1.荆州市长江勘察设计院,湖北 荆州 434023;2. 长江大学石油工程学院,湖北 荆州 434023

在基于MapX开发的洪水调度系统中,针对MapX点符号库的不足,使用专业软件制作TrueType字体,并给出在洞庭湖洪水调度系统中的调用实例。调用结果表明:制作的箭头符号能沿着河道轴中心线运动,很好地模拟了水流运动,达到了预期的目标。

MapX;洪水调度;TrueType字体

MapX;Flood con;troTlrueType font

引言

洪水调度系统正逐渐从传统的图形向计算机图形与数据库为一体的GIS发展,目前GIS组件与面向对象可视化编程语言集成二次开发模式,正成为GIS二次开发的主流[1]。本文以MapX控件为图形平台建立洪水调度系统,在其动态演示中需要水流箭头符号沿着河道流动,此时箭头方向是不断变化的,即MapX能支持点符号的旋转。在MapX的所有点符号中,M a p X能调用字体文件中的TrueType字体符号,并且支持TrueType点符号的旋转,但安装的TrueType字体文件是有限的,需要根据实际情况进行扩充。

文献[2]针对MapX点符号库的不足,在分析MapX内部数据结构和TrueType字体符号的调用机制基础上,结合TrueType字体文件的结构,提出了一种扩充M a p X中TrueType字体符号库的方法,但该方法需要熟练掌握TrueType字体格式,对一般的用户而言有一定难度,因此本文应用TrueType字体软件FontLab Studio5制作TrueType箭头符号,并给出在洞庭湖洪水调度系统动态演示中的应用。

1、制作TrueType符号

TrueType是由Apple公司和Microsoft公司联合提出的一种新型数学字形描述技术。它用数学函数描述字体轮廓外形,含有字形构造、颜色填充、数字描述函数、流程条件控制、栅格处理控制、附加提示控制等指令。TrueType采用几何学中二次B样条曲线及直线来描述字体的外形轮廓,其特点是:TrueType既可以作打印字体,又可以用作屏幕显示;由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是按照打印机的分辨率输出。无论放大或缩小,字符总是光滑的,不会有锯齿出现。

当Mapinfo和MapX安装后,会安装如下TrueType字体文件:Map Symbols、MapInfo Arrows、MapInfo Cartographic、MapInfo Miscellaneous、MapInfo Oil&Gas、MapInfo Real Estate、MapInfo Shields、MapInfo Symbols、MapInfo Transportation和MapInfo Weather。MapX可以调用这些字体文件中的TrueType字体符号,并且MapX支持TrueType点符号的旋转。

现有的符号不能满足符号的发展要求,本文利用软件FontLab Studio5制作TrueType符号,为了减少字体的数量,只在现有的字体文件里添加一个TrueType符号。

(1)将C:WINDOWSFonts 下字体MapInfo Oil&Gas(TrueType), 复制到任一目录,实际文件名为Ttmiog__.ttf,通过属性对话框去掉只读属性。

(2)用FontLab Studio5软件打开Ttmiog__.ttf文件,如图1所示。

(3)双击F034单元格,即可进入符号的绘制视图,在该视图里利用绘制工具条里的Drawing工具,即可绘制一个箭头。

如图2绘制新的TrueType符号。(4)关闭该视图,返回单元格界面,可以看到在F034单元格已有新建的符号,通过File->Generate Font…, 保存为Ttmiog__.ttf。

如图3新的TrueType符号显示在字体中。

(5)将C:WINDOWSFonts 下字体MapInfo Oil&Gas(TrueType)删除,将修改后的字体TTMIOG__.ttf拷贝进C: WINDOWSFonts,系统自动安装。

2、洞庭湖洪水调度系统中动态演示的应用

洞庭湖洪水调度系统采用V C为前台应用程序,Access为后台数据库,使用MapX来显示、管理、查询和统计分析空间和属性信息,采用ADO编程接口访问属性数据,在MapX中动态演示洪水演进过程,用上面制作的TrueType符号来显示水流运动,在OnTimer事件中改变箭头方向来表示水流沿着河道轴中心线流动。程序演示时,可以很好的反映水流流动过程(如图4),达到了预期的效果。

图4 水流箭头在河道中轴线上运动

4、总结

本文在基于MapX的洪水调度系统中,使用专业软件制作TrueType字体,并给出在洞庭湖洪水调度系统动态显示中的调用实例,效果良好,而且本文的方法对很多领域(需要显示方向和大小发生变化的图元)具有很好的借鉴作用。

[1]刘云,李义天. 基于VB和MapX的河网洪水调度系统的开发[J].中国农村水利水电.2005, (3):37-39

[2]杨伦,彭春光,黄健,黄柯棣.MapX下TrueType字体符号的扩展[J].湖南工业大学学报.2007, (5):99-102

Extended Application of TrueType Font in the Flood Control System

Yang Min1Liu Yun21. Jingzhou Yangtze Institute of Investigation and Design, Jingzhou, Hubei 434023; 2. Petroleum Engineering College o University, Jingzhou, Hubei 434023

In this paper, in a flood control system based on GIS module MapX, according to the deficiency of MapX point symbol library, the professional software is used to make TrueType fonts, and is applied in the flood control system on The Dongting Lake. Application results show that it is significant to show the path of the flowing water.

TV122+.9

B

10.3969/j.issn.1001-8972.2011.11.063

猜你喜欢
洞庭湖箭头调用
洞庭湖
轻松松聊汉语 洞庭湖
核电项目物项调用管理的应用研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
运载火箭
洞庭湖的麋鹿
利用RFC技术实现SAP系统接口通信
寻宝历险记(6)
天地大转盘
C++语言中函数参数传递方式剖析