《基于gdi》2d图形软件开发方法初探-2d几何画板.doc
《《基于gdi》2d图形软件开发方法初探-2d几何画板.doc》由会员分享,可在线阅读,更多相关《《基于gdi》2d图形软件开发方法初探-2d几何画板.doc(72页珍藏版)》请在咨信网上搜索。
1、基于GDI+2D图形软件开发方法初探2D几何画板摘要基于GDI2D图形软件开发方法初探2D几何画板,是采用Microsoft Visual C 2.0为开发语言,Microsoft .NET Framework 2.0为支撑平台开发的用于研究二维图形的图形软件。2D几何画板的开发,主要是研究GDI+技术在二维图形软件中的开发方法的探索。在该系统中,实现一些基本的图形绘制,如点、线、圆的绘制,及一些自定义图形的绘制,如多边形,曲线,带外接圆的三角形的绘制;实现基本的测量,如角度的测量,长度的测量,跨度的测量等;实现直角坐标系函数轨迹图形的绘制,要求为输入一个函数表达式的字符串,然后自动绘制出相关
2、的轨迹图形;对绘制结果实现序列化,实现可以重复操作图元;图元的存储、选取、修改,实现图元的动态性,如选中对象时可以拖动,改变大小等。2D几何画板除了实现基本的图形的绘制外,还实现了共点运动,可以动态的观察二维空间中关联对象的共点运动,当某个对象的相关属性改变时,对其他关联对象的影响;还可以精确的定位相关对象的相关属性,如圆的半径,曲线的张力等。本论文首先介绍了项目开发的背景,相关开发工具、开发语言和平台的介绍,然后是系统的总体设计,系统的详细设计,包括窗口界面,图形绘制模块,测量模块,2D函数图形绘制模块,序列化模块的设计。关键词:面向对象;命名空间;序列化;GDI+;图元GDI+ Based
3、 Development of 2D Geometers SketchpadABSTRACTGDI+ Based Development of 2D Geometers Sketchpad ,as GDI + on a two-dimensional graphics technology in software development methods of exploration, from basic graphics rendering, the sequence of elements of the object and function of two-dimensional imag
4、ing is of great significance. The system has basic graphics rendering, elements of the sequence, two-dimensional mapping function graphics, objects associated elements of movement points for the observation of the dynamic nature of objects.Basic elements, including point, line, round, curves, triang
5、les, polygons, rectangular, diamond, and these special elements derived from the basic elements, such as the triangle with circumcircle.Key words: Object-Oriented;Naming Space; Serialization; GDI +;Metafile毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的
6、研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要
7、(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不
8、准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它目 录1引言12开发背景32.1当代信息技术的发展现状32.1.1当代信息技术的发展32.1.2计算机处理能力的发展32.2 .NET框架的简介42.2.1 .Net框架简介42.2.2 .Net框架的组成42.2.3.Net框架的特性52.2.4 .Net的名字空间62.2.5 .Net2.0平台介绍72.3 C简介72.3.1什么是C#72.3.2
9、C#的特点82.3.3 C#的语言特性92.4 GDI+简介102.4.1什么是GDI+102.4.2 GDI+的体系结构图112.4.3 GDI+的构成112.4.4 GDI+的新特色123系统总体设计153.1系统总体结构153.2系统模块结构163.3系统类结构163.4系统运行环境193.5规格说明194系统窗体界面设计214.1设计原则214.2界面详细设计215图形绘制模块设计255.1基类255.2点265.3线段265.4矩形275.5正方形285.6菱形285.7圆295.8任意三角形305.9等腰三角形315.10等边三角形325.11直角三角形335.12带外接圆的三角形
10、345.13任意多边形365.14文字385.15曲线395.16选取406 2D函数图形绘制模块设计436.1实现原理436.2公式分析器436.3绘制图形467序列化模块设计517.1序列化类型517.1.1 Shallow Serialization517.1.2 Deep Serialization517.2持久存储527.3按值封送527.4基本序列化537.5选择性序列化547.6自定义序列化557.7序列化过程的步骤577.8版本控制577.9序列化规则588结 论59参考文献61致 谢631 引言1引言用GDI+开发一个2D几何画板,主要实现一些基本的图形绘制,如点、线、圆的绘
11、制,及一些自定义图形的绘制,如多边形,射线,直线的绘制;实现基本的测量,如角度的测量,长度的测量,跨度的测量等;实现直角坐标系函数轨迹图形的绘制,要求为输入一个函数表达式的字符串,然后自动绘制出相关的轨迹图形;对绘制结果实现序列化,实现可以重复操作图元;图元的存储、选取、修改,实现图元的动态性,如选中对象时可以拖动,改变大小等。- 65 -2 开发背景2开发背景2.1当代信息技术的发展现状2.1.1当代信息技术的发展以网络化、数字化、多媒化和智能化为代表的现代信息技术,正在改变人们传统的生活、学习和工作方式,影响教育的内容与方法。当代信息技术的发展,特别是以Internet为核心的网络技术的发
12、展和应用,使整个社会步入全新的网络经济时代,电子商务作为网络经济的重要载体,己经成为信息时代市场发展的一个重要标致,发展电子商务则成为当今世界商务活动的关键推动力,同时电子商务也是各类组织在结构,运营和管理方面发生根本变革的催化剂,使得企业之间的竞争规则和面临的营销环境增添了许多新内容,随着电子商务技术的日趋完善和电子商务市场环境的日趋成熟,电子商务已经成为越来越多的企业和行业追求和向往的交易模式.两大信息技术成了一个从工业文明向信息时代过渡的重要的技术杠杆。计算机出现以后,还没有带来那么大的变化,到计算机发展到多媒体的时候才发生了质的变化。因为计算机仅仅是“计算机”的时候,所用的都是计算机语
13、言,很难掌握。计算机发展到多媒体了,现在已经是超越了单纯的计算机语言的时代。多媒体的出现就把文字、声音、图像、三维动画全部变成数字信息,融为一体。多媒体全方位拓展人的观感,是人的观感的延伸,容易让人掌握,所以到了多媒体时代。当多媒体技术成熟以后,掌握多媒体技术的人和多媒体计算机一起构成了信息时代的新细胞,信息社会的新细胞。多媒体和信息高速公路以想象不到的惊人的速度在改变着我们的工作方式、交流方式、学习方式、思维方式、生活方式。信息化的时代是世界发展的大趋势。整个世界的发展趋势就是:世界越来越步人信息时代,国家越来越走向国民经济信息化。2.1.2计算机处理能力的发展自1666年,在英国Samue
14、l Morland发明了一部可以计算加数及减数的机械计数机,到1984年,日本计算机产业着手研制“第五代计算机”,计算机处理能力已经从简单的机械计数变成人工智能。第五代计算机把信息采集、存储、处理、通信和人工智能结合一起具有形式推理、联想、学习和解释能力。它的系统结构突破传统的冯诺依曼机器的概念,实现高度的并行处理。2.2 .NET框架的简介2.2.1 .Net框架简介.NET框架(Framework)是一个开发、部署和运行.NET应用的环境,包括了ASP.NET、公共语言运行时环境(CLR)以及.NET 框架类。.NET框架的目的是使Windows应用程序更加可靠并提供给应用程序更大程度的安
15、全性,简化Web应用程序和服务的开发,提供独立的一套库,使其可用于多种语言。2.2.2 .Net框架的组成1、公共语言运行时此名称不能准确反映它的全部功能。实际上,公共语言运行时在组件的开发及运行过程中,都扮演着非常重要的角色。在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全性策略、同时满足当前组件对其它组件的需求。在开发阶段,运行时的作用有些变化,与现今的COM相比,运行时的自动化程度大为提高(比如可自动执行内存管理),因而开发人员的工作变得非常轻松。尤其是,映射功能将锐减开发人员将业务逻辑程序转化成可复用组件的代码编写量。对编程语言而言,运行时这个概念并不新奇,实际
16、上每种编程语言都有自己的运行时。Visual Basic开发系统具有最为明显的运行时(名为VBRUN),Visual C+跟Visual FoxPro、Jscript、SmallTalk、Perl、Python和Java一样有一个运行时,即MSVCRT。.NET框架的关键作用在于,它提供了一个跨编程语言的统一编程环境,这也是它能独树一帜的根本原因。 2、统一的编程类.NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API)。现今,C+开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而Visual Basic用户使用的又是Visual
17、 Basic API集,这些都只是简单的一用,而.NET框架就统一了微软当前的各种不同类框架。这样,开发人员无需学习多种框架就能顺利编程。远不止于此的是,通过创建跨编程语言的公共API集,.NET框架可实现跨语言继承性、错误处理功能和调试功能。3、编程语言.NET框架提供了一套有助于创建使用.NET框架的代码的工具,并且提供了可兼容.NET的语言,例如C#,VC+,BV.NET,Jscript.NET。 4、活动服务器页面(ASP+)ASP+是使用.NET框架提供的编程类库构建而成的,它提供了Web应用程序模型,该模型由一组控件和一个基本结构组成。有了它,Web应用程序的构建变得非常容易。开发
18、人员可以直接使用ASP+控件集,该控件集封装了公共的、用于超文本标识语言(HTML)用户界面的各种小器件(诸如文本框、下拉菜单等等)。实际上,这些控件运行在 Web服务器上,它们将用户界面转换成HTML格式后再发送给浏览器。在服务器上,控件负责将面向对象的编程模型提供给Web开发人员,这种编程模型能提供面向对象编程技术的丰富功能。ASP+还提供一些基本结构服务(诸如会话状态管理和进程重启服务),这些服务大大减少了开发人员要编写的代码量,并使应用程序的可靠性得到大幅度提高。ASP+还允许开发人员将软件作为一项服务来提供。通过使用ASP+ Web服务功能,ASP+开发人员只需进行简单的业务逻辑编程
19、,而由ASP+基本结构负责通过简单对象访问协议(SOAP)来提供服务。从层次结构来看,.NET框架又包括5个主要组成部分,通用语言运行环境、统一的基础类库、ADO.NET、ASP.NET和通用语言规范,如图2.1所示。图2.1 .NET框架支持环境2.2.3.Net框架的特性1、公共语言运行时2、公共类型系统.Net框架提供了一个公共的数据类型集合。例如,如果你引用了一个VB.NET、C#、J#、Delphi (.NET)、托管C+或其他任何一种.NET语言的字符串,公共类型系统能够确保你所引用的字符串对这些不同的语言来说是完全相同的实体。这是因为string类型是在.NET框架本身中定义的数
20、据类型,而不是在语言中定义的数据类型。让数据类型的定义与编程语言分离,便能够创建一个允许开发者采用VB.NET和C#语言混合编程,且不存在通信问题的编程环境。3、IL(中间语言)通用中间语言(Common Intermediate Language,CIL)更常称为IL,所有支持.NET框架的语言,在执行前都需要通过两次编译。首次编译是从源程序编译为.NET平台的PE格式文件(.exe或.dll),即要在CLR环境中执行的受控代码,它由中间语言IL和元数据组成。受控代码在执行时,需要有时编译器再将中间语言代码转换为目标机器的本地码才能运行。IL元数据和通用类型系统相结合,实现了真正的跨语言集会
21、。中间语言IL可以被看作是.NET框架上汇编语言,它是与CPU不相关的指令集。它包含有加载、存储、初始化和调用对象方法的指令,同时它也有很多常用的指令,如算术运行、逻辑运算、流程控制、直接内存访问和异常处理等指令。开发者可以直接用这些指令编写代码,然后通过工具ILasm.exe编译成为PE格式文件,也可以通过工具ILasm.exe以文本方式来阅读PE格式文件的IL代码。2.2.4 .Net的名字空间在.NET中,类型按照名字空间组织,一个名字空间是一个逻辑容器,它提供了数据类型的名字解析。.NET框架中的核心数据类型都属于“System”名字空间。System:此命名空间包含 .NET框架类库
22、中的其他所有命名空间。System还包含了CLR所使用的核心数据类型(core data types,也被其他基于CLR的语言所用)。这些类型包括数种不同的整数、一种字符串类型,以及其他。关于二维图形的名字命名空间主要有以下几个:System.Data:这个命名空间内的类型造就了ADO.NET。例如Connection类用于建立对数据库管理系统(database management system,DBMS)的连接,DataSet类的实例则可用于缓存(cache)和检视对DBMS执行的查询的结果。System.Collections.Generic命名空间包含接口和类定义类的聚集使使用者能创建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于gdi 基于 gdi 图形 软件 开发 方法 初探 几何 画板
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。