简单画图
- 格式:ppt
- 大小:231.50 KB
- 文档页数:8
面向对象程序设计课程设计报告设计题目:简单画图程序的设计学院:信息工程学院专业:计算机科学与技术(交通)学号:姓名:指导教师:2015 年1 月4 日目录1.设计目的和内容1 1.1.设计目的11.2.设计内容12.基本功能1 2.1.图形样式1 2.2.颜色样式2 2.3.画笔样式22.4.线型选择33.设计思路34.软件设计5 4.1.设计步骤5 4.2.界面设计8 4.3.关键功能的实现95.心得体会116.参考文献117.附录11 7.1.调试报告11 7.2.调试结果12 7.3.关键源代码121.设计目的和内容1.1.设计目的1、学习Visual C++的MFC开发程序的步骤2、综合运用所学的类、继承和多态的知识3、进一步掌握程序调试的方法1.2.设计内容1、利用MFC的向导,创建基于单文档的应用程序2、编程实现,绘制线、圆、矩形的功能3、能够设定当前要画的图形样式(最少为以上3种)和图形颜色(最少能够设为以下4种颜色:黑、红、绿、蓝)4、当窗口重绘后,还能保持原来的图形5、选做1:能够选中某些已绘制的图形,并删除之6、选做2:能够保存已绘制的图形,下次打开时恢复原状2.基本功能2.1.图形样式在菜单栏的设置里面有图形样式的选择,可以点击选中也可以在工具栏里点击图形的图标,能够实现绘制点、直线、矩形和椭圆的功能。
目录1. 基本功能描述 (1)2. 设计思路 (1)3. 软件设计 (4)设计步骤 (4)界面设计 (6)关键功能的实现 (7)4. 结论与心得体会 (8)5. 思考题 (8)6. 附录 (10)调试报告 (10)测试结果 (10)关键源代码 (10)简单画图程序1. 基本功能描述简单画图程序实现了常见图形的绘制、图形属性的设置和图形数据的暂存等功能。
该程序的具体功能模块包括以下几项:1) 图形绘制模块。
该模块实现直线段、椭圆、矩形等图形的绘制功能。
在鼠标移动的过程中能实时显示当前绘制的图形。
2) 图形属性设置模块。
该模块实现绘图线条的线宽,线色,图形填充色等属性设置功能。
3) 图形数据暂存模块。
该模块实现直线段、椭圆、矩形等图形数据暂存功能,涉及图形的坐标、线宽、线色、填充色等数据。
2. 设计思路1) 对需要用到的变量进行初始化。
2) 选择相应的图形之后就响应相应的消息处理函数,给shape赋对应的值。
选择不同的线宽,线色与填充色,即可改变画笔或画刷的属性。
3) 鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,刷新,得到绘制图形。
4) 选择图形或其它属性,可进行下一次绘制。
5) 程序的流程图如下:图1 程序流程图3. 软件设计设计步骤1) 创建单文档创建一个MFC AppWizard[exe]工程,命名为“LiYuJing”,如图1所示,并创建单文档,如图2所示。
创建成功后,系统自动生成相应的类,如图3所示。
图2 创建工程图3 创建单文档图4 生成类2) 编辑菜单添加需要的菜单项,如图4所示;并在菜单的属性中设定好所对应的ID,如图5所示,各项菜单对应的ID如表1所示(其中线宽菜单为弹出菜单,只需在菜单项目属性中的弹出选项前打勾即可,分隔线亦只需在菜单项目属性中选中分隔符选项即可)。
作图工具有哪些好用的?简单方便的画图软件有哪些?
作图工具有哪些好用的?不管是生活还是工作中,我们经常会利用思维导图或者流程图,来帮助自己管理时间或者事情,以便更加高效地完成任务。
平时看本书做笔记也会用画思维导图记笔记。
那么简单方便的画图软件有哪些呢?很多小白对于思维导图还不是很熟悉,今天给大家分享一个好用的迅捷思维导图软件。
每个人都希望找到一款好用的作图工具,这样可以省时省力,做起图来方便快捷。
如果用到繁琐复杂的软件,光是熟悉它,就费了好长时间,并且操作困难的话,更加让人烦躁。
而迅捷思维导图,操作简单便捷,只需要几个步骤,一份完整的图就做出来了。
它有空白思维导图、结构图、空白概念图、树状结构图、纲领等这几种形式。
点击创建思维导图进到页面,发现界面简单,内容清晰明了,只需要点击界面中间的“中心主题”就可以开始画图了。
左侧有笔记、超链接、多媒体、图片这些工具,在绘图过程中可以插入使用,使我们的思维导图更加细致。
如果有一步骤弄错了,不用担心不知道怎么删除。
点击上方的撤销就可以了,非常方便。
做完就可以点击左上角的“文件”,下拉列表选择“导出”即可。
这里导出的格式有多种选择,pdf、docx、ppt等,接着点击右下角的导出按钮就可以啦!
看完上面的介绍,大家觉得迅捷思维导图软件操作简单吗?就算是小白,看一遍操作应该也会做吧!为大家分享的好用的作图工具内容就到这里,感谢阅读!。
简单画图程序1.基本功能描述本次课程设计的任务是利用计算机和VC开发环境编写一个简单画图程序,该程序的设计指标(即主要功能)有:①用鼠标拖动绘制圆、椭圆、矩形,线等基本图形;②能控制画笔的线宽和颜色;③能对图形进行颜色填充;④在鼠标移动的过程中能实时显示当前绘制的图形。
除了以上几点功能,我有另外添加了工具栏、铅笔、橡皮等功能来使程序更方便地让用户使用,简化了人机交互的过程。
2.设计思路首先是界面的问题,既然课设的题目是简单画图,那在建立工程的时候就要选择文档结构而不是以前做的基于对话框。
可选择单文档结构或多文档结构,但想到画图界面一般只有一个,从简洁的角度考虑,选择单文档结构。
而且用户界面在设计的时候要尽可能简单美观,一目了然,对相应功能有图标提示,使用户方便使用。
然后便是画图功能的具体实现。
分析课设要求,可以发现功能一要求的的椭圆、矩形、直线可以分别通过Ellipse();、Rectangle();、MoveTo();、LineTo();这四个函数来实现。
功能二控制画笔线宽和颜色可以给二者分别关联参数,通过改变线宽参数值来控制线宽,通过调用通用对话框改变颜色参数值来控制颜色。
功能三对图形进行颜色填充虽以前未接触过,但查阅资料后发现可以调用ExtFloodFill();并合理设定参数值来实现。
功能四的实时显示功能可以通过调用MouseMove();函数来实现。
这些功能需要建立菜单资源来表示各个功能选项,并建立相应的消息响应函数来进行实现。
另外,画图程序主要是通过鼠标来进行操作,所以要对鼠标消息的响应及处理函数多下功夫来思考和编写。
至于额外添加的功能,工具栏通过添加工具栏资源和关联相应菜单中画图功能ID实现;铅笔、橡皮的功能则是利用MouseMove();函数,在其中做了一些改动来实现。
图1 程序流程图MouseMove 函数2.1.程序流程图:鼠标左键弹起响应函数开始变量初始化(m_nDrawType ,m_clr 等)铅笔橡皮点直线椭圆线宽线型设置颜色选择填充响应函数m_Pen(m_Eraser)=TRUE 并将其他橡皮(铅响应函数 m_nDrawType =1/2/3/4;对应点、直线、矩矩形响应函数 创建相应对话框IDOK==1更改变量m_clr (m_nLineWidth ,m_nLineStyle)参数值响应函数m_Fill=TRUE 并将其他橡皮、铅笔等所关联变量置为鼠标左键按下 响应函数进行填充铅笔功能橡皮功能画点画直线画矩形画椭圆结束判断各参数值以确定功能3.软件设计3.1.设计步骤1)打开VS2010,选择新建项目,选中MFC应用程序,标题为CWN_Graphic;2)选择单文档结构,其他为默认值,点击完成。