绘图专业系统设计及实现.doc
《绘图专业系统设计及实现.doc》由会员分享,可在线阅读,更多相关《绘图专业系统设计及实现.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、绘图系统设计及实现目 录一、绘图系统概述1二、硬件系统构成2(一)主机2(二)外存储器2(三)图形输入设备2(四)图形输出设备3三、软件系统概述4(一)系统软件4(二)支撑软件4(三)计算机绘图应用软件4四、图形操作基本知识简介5(一)CD和CDC类简介5(二)CDI和CGdiobject类5(三)图形操作中颜色变化7五、图形绘画程序详细实现11(一)画笔操作实现11(二)填充实现11(三)直线绘制实现12(四)圆形绘制实现12(五)矩形绘制实现13(六)圆角矩形绘制实现13(七)多边形绘制实现13(八)喷枪实现14(九)运营程序界面15六、系统测试16七、结束语17参照文献18绘图系统设计及
2、实现摘 要自从上世纪计算机系统向绘画界延伸以来,绘图技术已成为计算机系统不可分割一某些。而图形编辑器又是图形编辑软件基本,几乎所有图形编辑软件,都是在拥有基本图形编辑功能基本上实现更复杂功能。故在图形应用非常广泛今天,研究开发绘图系统是非常故意义。本文重要通过对绘图系统软硬件配备分析,就绘图系统设计及实现进行了合理阐述。在基于MFC操作环境中,通过对CD、CDC类以及CDI、CGdiobject类应用,在绘图方面实现绘制直线、矩形、圆形等基本功能,在界面设计方面实现了对图形操作,从而从底层对绘图系统进行简朴实现。核心词:硬件系统构成 软件系统构架 图形操作及绘画技术 基本绘图功能 图形界面De
3、sign and implementation of drawing systemAbstractSince the last century,the computer system has been extended to the painting industry,computer graphics technology has become an integral part of the system. The graphics editor graphics editing software is the foundation of almost all of the graphics
4、 editing software,are in possession of basic graphics editing capabilities based on the more complex functions. It is widely used in graphics today,research and development of graphics systems is very meaningful. This article focuses on the mapping system through the analysis of hardware and softwar
5、e configurations,the mapping system design and implementation of a reasonable set. MFC-based operating environment,through the CD,CDC class,and CDI,CGdiobject class applications,to achieve in the drawing to draw lines,rectangles,circles and other basic functions,implemented in the interface design o
6、f graphics operations,and thus from the underlying graphics system for simple implementation.Key words:Hardware system The software system structure Graphic operation and drawing technology draw tools GUI一、绘图系统概述计算机绘图系统是基于计算机系统,由软件系统和硬件系统构成。其中,软件是计算机绘图系统核心,而相应系统硬件设备则为软件正常运营提供了基本保障和运营环境。此外,任何功能强大计算机绘
7、图系统都只是一种辅助工具,系统运营离不开系统使用人员创造性思维活动。因而,使用计算机绘图系统技术人员也属于系统构成一某些,将软件、硬件及人这三者有效地融合在一起,是发挥计算机系统强大功能前提。从上世纪计算机系统向绘画界得引入到当前,计算机绘图已然成为计算机图形学一种重要分支,其重要特点是向计算机输入非图形信息,由计算机解决后生成图形输出。二、硬件系统构成普通,将顾客进行计算机绘图作业独立硬件环境称作计算机绘图硬件系统。计算机绘图硬件重要由主机、输入设备(键盘、鼠标、扫描仪等)、输出设备(显示屏、绘图仪、打印机等)、信息存储设备(重要指外存,如硬盘、软盘、光盘等)、以及网络设备、多媒体设备等构成
8、1。如图1-1所示图2.1 计算机绘图系统基本硬件构成(一)主机主机由中央解决器(CPU)和内存储器(简称内存)构成,是整个计算机绘图系统核心。衡量一种主机性能指标中互相要有两项:CPU性能和内存容量。1CPU性能CPU性能决定着计算机数据解决能力、运算精度和速度。CPU性能通惯用每秒可执行指令数目或进行浮点运算速度指标来衡量,其单位符号为MI/S(每秒解决1百万条指令)和GI/S(每秒解决10亿条指令)。当前,CPU速度已达到160GI/S以上。普通状况下,用芯片时钟频率来表达运算速度更为普遍,时钟频率越高,运算速度越快。2.内存容量内存是存储运算程序、原始数据、计算成果等内容记忆装置。如果
9、内存容量过小,将直接影响计算机绘图软件系统运营效果。由于,内存容量越大,主机能容纳和解决信息量也就越大。(二)外存储器外存储器简称为外存,虽然内存储器可以直接和运算器、控制器互换信息,存取速度不久,但内存储器成本较高,且其容量受到CPU直接寻址能力限制。外存作为内存后援,是计算机绘图系统将大量程序、数据库、图形库存储在外存器中,待需要时再调入内存进行解决。外存储器普通涉及硬盘、软盘、光盘等。(三)图形输入设备在计算机绘图作业过程中,不但规定顾客可以迅速输入图形,并且还规定可以将输入图形以人机交互方式进行修改,以及对输入图形进行图形变换(如缩放、平移、旋转)等操作。因而,图形输入设备在计算机绘图
10、硬件系统中占有重要地位。当前,计算机绘图系统惯用输入设备有键盘、鼠标、扫描仪等。(四)图形输出设备图形输出设备涉及图形显示屏、绘图仪、打印机等。图形显示屏是计算机绘图系统中最为重要硬件设备之一,重要用于图形图像显示和人机交互操作,是一种交互式图形显示设备,其重要部件是阴极射线管(CRT)。它有3种类型:直接存储管式显示屏、射线刷新式显示屏、光栅扫描式显示屏。当前,交互式图形系统采用主流显示屏是基于CRT光栅扫描式显示屏。其工作原理与电视机相似,不同之处在于电视机运用摄像机产生模仿信号构成屏幕上图像,而光栅扫描式显示屏则运用计算机产生数字信号构成屏幕上图像。衡量显示屏性能重要指标是辨别率和显示速
11、度。对于光栅扫描式显示屏而言,沿水平和垂直方向单位长度上所能辨认最大光点数称为辨别率(光点也称为像素)。对于相似尺寸屏幕,点数越多,距离越小,辨别率就越高,显示图形也越精细。显示速度同显示屏在输出图形时采用辨别率以及计算机自身解决图形速度关于。从人机工程学角度来看,普通应满足人眼观测图形时不浮现闪烁这一基本规定,图形屏幕刷新速度应不低于30帧/秒。随着人们对显示屏轻型化、薄型化以及大尺寸规定,当前,液晶显示屏和等离子显示屏应用越来越多。由于这些显示屏制导致本逐渐减少,已呈现出取代基于CRT光栅扫描式显示屏趋势。绘图仪、打印机等也是当前惯用图形输出设备。当前,惯用绘图仪为滚筒式绘图仪,这种绘图仪
12、具备构造简朴紧凑、图纸长度不受限制、价格便宜、占用工作面积小等长处。惯用打印机重要有针式、喷墨、激光打印机等。三、软件系统概述计算机软件是指控制计算机运营,并使计算机发挥最大功能各种程序、数据及文档集合。在计算机绘图系统中,软件配备水平决定着整个计算机绘图系统性能优劣。因而可以说硬件是计算机绘图系统物质基本,而软件则是计算机绘图系统核心。从计算机绘图系统发展趋势来看,软件占据着愈来愈重要地位,当前,系统配备中软件成本已经超过了硬件。当前而言,计算机绘图系统软件可以分为3个层次,即系统软件、支撑软件和应用软件。系统软件是与计算机硬件直接关联软件,普通由专业软件开发人员研制,它起着扩充计算机功能以
13、及合理调度与使用计算机作用。系统软件有2个特点:一是公用性,无论哪个应用领域都要用到它;二是基本性,各种支撑软件及应用软件都需要在系统软件支撑下运营。支撑软件是在系统软件基本上研制,它涉及进行计算机绘图作业时所需各种通用软件。应用软件则是在系统软件及支撑软件支持下,为实现某个应用领域内特定任务而开发软件。下面分别对这3类软件进行详细简介。 (一)系统软件系统软件重要用于计算机管理、维护、控制、运营,以及计算机程序编译、装载和运营。系统软件涉及操作系统和编译系统。操作系统重要承担对计算机管理工作,其重要功能涉及文献管理(建立、存储、删除、检索文献)、外部设备管理(管理计算机输入、输出等外部硬件设
14、备)、内存分派管理、作业管理和中断管理。操作系统种类诸多,在工作站上重要采用UNIX、Windows /NT/XP等;在微机上重要采用UNIX变种XENIX、ONIX、VENIX,以及Windows系列操作系统。编译系统作用是将用高档语言编写程序翻译成计算机可以直接执行机器指令。有了编译系统,顾客就可以用接近于人类自然语言和数学语言方式编写程序,而翻译成机器指令工作则由编译系统完毕。这样就可以使非计算机专业各类工程技术人员很容易地用计算机来实现其绘图目。当前,国内外广泛应用高档语言FORTRAN、PASCAL、C/C+、Visual Basic、LISP等均有相应编译系统2。(二)支撑软件支撑
15、软件是计算机绘图软件系统中核心,是为满足计算机绘图工作中某些顾客共同需要而开发通用软件。近30近年来,由于计算机应用领域迅速扩大,支撑软件开发研制有了很大进展,推出了种类繁多商品化支撑软件。(三)计算机绘图应用软件应用软件是在系统软件、支撑软件基本上,针对某一专门应用领域而开发软件。此类软件普通由顾客结合当前绘图工作需要自行研究开发或委托开发商进行开发,此项工作又称为“二次开发”。能否充分发挥已有计算机绘图系统功能,应用软件技术开发工作是很重要,也是计算机绘图从业人员重要任务之一四、图形操作基本知识简介(一)CD和CDC类简介CDC是设备环境类基类直接由CObject派生。是GDI核心元素,它
16、代表了物理设备。每一种C+设备环境对象均有相相应Windows设备环境,并通过一种32位类型HDC句柄来标记。CDC类虚拟性使咱们可以很容易做到编写同步合用于各种设备代码。例如OnDraw函数pDC-TextOut(0,0,Hello);既可以合用于显示屏、还可以合用于打印预览和打印,只需要在CView:OnDraw函数pDC参数指向不同对象类3。CClientDC和CWindowDC是显示设备环境类,都是由CDC派生而来,区别在于CClientDC是窗口客户区不涉及边框、标题栏和菜单栏,(0,0)指客户区域左上角。CWindowDC(0,0)指整个屏幕左上角,这意味着咱们可以在显示屏任意地方
17、绘图,涉及窗口边框、标题栏和菜单栏等等。CWindowDC普通应用在框架窗口,而不是视图窗口。CDC对象被创立后一定要在适当时候将它删除掉,如果忘掉了删除设备环境对象则会导致内存丢失。如何做才干避免浮现这个问题呢,咱们应当在堆栈中构造对象。看例子/ 例子void CMyView:OnLButtonDown(UINT nFlags,CPoint point) CRect rect;CClientDC dc(this);/在堆栈中构造设备环境对象,用一种窗口指针this作参数。 dc.GetClipBox(rect);/GetClipBox函数是一种虚函数,作用是可以获得选定区域尺寸 /析构函数在
18、函数返回时自动调用,也就完毕对设备环境对象删除。书上还给出了另一种写法:void CMyView:OnLButtonDown(UINT nFlags,CPoint point)CRect rect;CDC * pDC=GetDC();/通过调用CWndGetDC()函数获得设备环境指针pDC-GetClipBox(rect);/可以获得选定区域尺寸 ReleaseDC(pDC);/一定不能忘掉,释放设备环境。(书上写错了) 创立设备环境对象具备某些默认特性,通过CDC类成员函数可以设定这些特性。例如前一篇笔记用到刷子、映射模式等等。咱们还可以通过重载SelectObject函数将GDI对象选进
19、设备环境中。(二)CDI和CGdiobject类 GDI对象是通过CGdiObject派生类C+对象来表达4。CBrush是一种GDI派生类,它在MFC中层次构造是这样:CObject派生CGdiObject派生CBrush,明白了吧。CGdiObject是所有GDI对象抽象基类。下面列出是GDI派生类列表:CBitmap:位图是一种位矩阵,每一种显示象素都相应于其中一种或各种位,可以用来表达图象,也可以用来创立刷子 CBrush:刷子定义了一种位图形式象素,可以用来对区域内部填充颜色。 CFont:字体是一种具备某种风格和尺寸所有字符完整集合,经常被作为资源,其中某些依赖某种设备。CPale
20、tte:调色板是一种颜色映射接口,它容许应用程序在不影响其她应用程序前提下,可以充分运用输出设备颜色描绘能力。CPen:笔是一种用来画线及绘制有形边框工具,可以指定它颜色及宽度,并可以指定画虚线、点线还是实线。CRgn:区域是由多边形、椭圆两者组合形成一种范畴,可以用来进行填充、裁剪、鼠标点中测试等等。 以上很容易理解,可以用WINDOWS画图协助咱们理解。CGdiObject类很眼生,看过诸多代码就没有看到过它,因素是由于CGdiObject类是所有GDI对象类虚拟基类,因此咱们不必创立CGdiObject类对象,可以直接构造它派生类对象,例如这样 CPen newPen(PS_DASHDO
21、TDOT,2,(COLORREF) 0);/黑色笔宽度为2 但需要注意是CFont和CRgn对象建立需要先调用默认构造函数来构造C+对象,然后再调用相应创立函数如:CreateFont或CreatePolygonRgn等。CGdiObject类有一种虚拟析构函数,它派生类析构函数需要将与C+对象有关联GDI对象删除掉,一定要在退出程序之前把构造CGdiObject派生类对象干掉。由于一种没有释放GDI对象会占用诸多内存。让咱们用一种例子跟踪一下GDI对象 void CMy10View:OnDraw(CDC* pDC) pDC-MoveTo (10,10);pDC-LineTo (110,10)
22、;CPen newPen(PS_DASHDOTDOT,10,(COLORREF) 192);/红色笔宽度为10 CPen * pOldPen=pDC-SelectObject (&newPen);/在将新对象选进设备环境同步返回指向前一次被选对象指针。作用保存本来对象,以便完毕任务时恢复它。pDC-MoveTo (10,20);pDC-LineTo (110,20);pDC-SelectObject (pOldPen);/把本来对象恢复 pDC-MoveTo (10,30);pDC-LineTo (110,30); 屏幕上应当显示三条线,第一条和第三条同样颜色和粗细由于她们都是用设备环境默认C
23、Pen对象,第二条是一条用咱们自己设定CPen对象。咱们可以看出在将新对象选进设备环境同步返回指向前一次被选对象指针。作用保存本来对象,以便完毕任务时恢复它。 Windows还包具有某些可以运用库存对象,它们不会被删除,由于Windows对企图删除它们动作不予理睬。咱们可以用SelectStockObject函数将它们选进设备环境。下面列出是所有关于刷子、笔、字体和调色板库存对象。 由于SelectObject函数返回GDI C+对象指针具备暂时性,当程序空闲解决阶段或者控制函数返回时应用程序框架会将暂时C+对象删除,咱们不能简朴把这一指针保存在类数据成员中,而应当借助GetSafeHdc函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 绘图 专业 系统 设计 实现
限制150内