一种矢量图形工具的设计与实现
摘 要
矢量图形系统的开发是利用VC++开发地理信息系统(GIS系统)的重点和难点。利用VC++进行矢量图形系统的开发主要是利用VC++的设备环境DC提供的功能进行图形绘制和采用面向对象的方法来组织和管理矢量图形数据。
该论文分析了矢量图形系统的基本结构,采用了面向对象的思想,设计了图形对象的类继承层次,其中基类对象又派生出直线、圆弧(圆)和曲线,文本等类,给出了矢量图形系统类的组织结构。并且从整体功能结构到单独的类的具体实现和视图的实现,鼠标交互绘制,图形操作,图形选中、移动、删除等各个方面开发实现了一个基本的矢量图形工具系统。完成了处理点、线、圆、面、标注文本等图形元素的功能,并具有处理图例(即图形块)的能力;具有相对完善的图形操作功能,方便的图形I/O功能,以及图形移动、删除的功能。(所有权: 毕业设计网 QQ:306826066)
[资料来源:http://Doc163.com]
关键词:面向对象;图形操作;I/O;
The Design and Realization of a Vector Graphics Tool
Abstract
The Vector Graphics system is one of the most important and difficult parts for GIS(Geographical Information System) development with VC++. The Vector Graphics system mainly includes implementing different drawing functions under the environment provided by VC + + 6.0, organizing and managing vector-based graphic data by means of object-based methods.
The idea of object-oriented is introduced in this paper, the geographic elements in the system are classified into line, arc(circle) ,curve and text. The basic classes’ framework is proposed by analyzing the basic structure of the vector graphics system. A basic vector graphics tool system is designed and realized from the kind of organization, the view’s realization, the mouse’s alternately draws up, the graphics operation, the graph selected, migration, deletion, and so on. Different drawing functions are implemented, including spot, line, circle, surface and note text. The system has the ability of processing chart of symbols (namely graph block). The realizations of relative consummation graphics operation function and facilitates graph I/O function is given, as well as graph migration, deletion function.
Key words : Object-oriented; Graph operation; I/O;
一般的功能:
1. 相对完善的图形元素,应具备处理点,线,面,网络等图形元素的能力,这类图形系统在很大程度上能够满足普通的管理型GIS的矢量图形系统的要求。提高矢量显示图形的功能在很大程度上能够改善矢量图形界面的质量。
2. 相对完善的图形操作功能。应具备图形的放缩,移动等各种操作功能。
3. 相对完善的图形输入和输出功能。应具备鼠标交互绘制功能,图形数据交互输入等功能;
4. 定制和使用线形;
5. 具有子图填充功能;
6. 具有图层,颜色,线形等的设置功能;
7. 具有较大的存储容量。处理图形元素的容量应该能够达到一般实用要求。
功能模块说明
文件菜单
菜单下拉选项有新建、打开、保存三个基本功能,可以新建新的客户区、打开已经存在的文件、保存希望保留的图形。
编辑菜单
下拉菜单里面的撤消选项可以撤消上一步的操作,同时选中图形后可以进行复制和粘贴的操作。
鼠标绘制
利用鼠标交互的功能把直线、圆、填充圆、圆弧、连续直线、多边形区域和标注文本的操作直观化,只要选中你想要的操作就可以在窗口进行相应的绘制。
选中操作 [资料来源:www.doc163.com]
基本的矢量图形系统应该具有鼠标点选图形的功能,选中图形后可以进行简单的拖动、删除等基本功能。同样的,可以选中也就可以放弃选中。被选中的图形,会以特殊的方式显示出来。
图形操作
图形绘制过程中用来解决重画、放大、摆动、显示全屏的操作,这在图形工具的系统中是很重要的。(所有权: 毕业设计网 QQ:306826066)
目 录
1 引言 1
1.1 课题背景及研究的目的和意义 1
1.2 矢量图形系统 1
1.3 课题研究方法 1
2 总体设计思想 2
2.1 整体功能模块的设计 2
2.2 功能模块说明 2
3 矢量图形结构 3
3.1 基类的组织 3
3.2 视图的实现 5
3.2.1 实际坐标与逻辑坐标的转换 5
3.2.2 图形元素的绘制功能 6
[资料来源:http://doc163.com]
3.3 图形操作方面 6
3.3.1 屏幕状态的记录 6
3.3.2 边界矩形 7
3.3.3 点选的判断和特殊显示 7
3.3.4 图形的移动 9
3.4 提高图形重画速度 9
4 矢量图形工具系统的设计 10
4.1 类的实现 10
4.2 鼠标交互绘制 13
4.3 重画技术 13
4.3.1 图形重画 13
4.3.2 重画上屏、首屏和显示全图 15
4.4 图形移动和选中后操作 17
4.4.1 图形点选功能 17
(所有权: 毕业设计网 QQ:306826066)
4.4.2 图形移动 20
5 系统测试 21
结 论 22
参考文献 23
致 谢 24
声 明 25