文档库 最新最全的文档下载
当前位置:文档库 › 任务2——画图程序实例-单文档

任务2——画图程序实例-单文档

任务2——画图程序实例-单文档
任务2——画图程序实例-单文档

(已读)第十四章 单文档界面的程序

第十四章单文档界面的程序 用VC++的AppWizard生成的程序有三种样式的界面,它们是单文档、多文档和对话框界面。前面各章我们都生成对话框样式的界面,这可以方便我们学习各种常用控件的设计,本章要学习如何生成一个单文档界面的应用程序,以及文档类和视图类的概念和相互关系。 本章要点 1 用AppWizard生成单文档界面的操作方法 2 文档类和视图类的概念 3 如何保持文档和视图的同步关联。 14.1 生成单文档界面的文本编辑器 用AppWizard生成单文档界面的操作方法和生成对话框界面的操作方法稍有不同,我们通过建立一个“文本编辑器”应用程序MyNote.exe来演示,具体过程如下: 1 打开应用程序向导,在d:\myVC\CH14创建应用程序MyNote。 2 在Step1中选择“单文档”和“文档/视图支持”,如图chap14-01. 图chap14-01 3 在step2和step3对话框中都用默认的。在step4中如图chap14-02选择前五项,当然也可以按你的需要选择。 图chap14-02

4 在Step5中选择MFC标准、加备注和静态连接库。图chap14-03 图chap14-03 5 在step6中选择视图的基类(base class),因为我们需要的是文本编辑器,所以要选类CEditView作为基类。点击[完成]按纽,应用程序的框架就创建好了。 14.2 文档类和视图类的概念 向导工作完成以后马上编译和连接,运行后就可以看到一个已经能够使用的文本编辑器,它不仅可以输入文字,还可以保存或打开文件,与Windows的记事本差不多了,只是没有设置字体的功能。图chap14-04是它运行时的窗口。 chap14-04 菜单和工具栏的响应函数都已经生成了相应的代码,我们没有做任何编写工作就得到了一个“完整”的应用程序,甚至还创建了一个帮助文件呢。这就是VC++开发环境的巨大威力!我们从上图中可以看到,编辑菜单中的复制和剪切都已经有效了。 图中的窗口是主框架,对应于类CMainFrame,而其中的“编辑区域”叫用户区,对应于视图类CMyNoteView,而被编辑的文本对应于一个文档类CMyNoteDoc。另外,每个程序还有一个对应于应用程序本身的类,本例中是CMyNoteApp。这四个类就是向导自动生成的应用程序框架类,打开工作区的类classView页区,就可以看到,如图chap14-05。 展开视图类,可以找到一个函数GetDocument(),它是使视图(的内容)和文档保持同步关联的纽带。它返回一个CMyNoteDoc类型的对象指针m_pDocument。使用它在视图中访问文档的内容。

简单画图程序的设计

面向对象程序设计 课程设计报告 设计题目:简单画图程序的设计 学院:信息工程学院 专业:计算机科学与技术(交通)学号:201224020326 姓名:房战锋 同组同学学号:201224020325 指导教师:张少博 2013 年12 月24 日

目录 第一章:设计目的及内容 (2) 1.1【设计目的】 (2) 1.2【设计内容】 (2) 第二章:基本功能概述 (3) 2.1【工程的新建】 (3) 2.2【单文档简介】 (4) 2.3【添加消息响应函数】 (5) 2.4【资源】 (5) 2.5【设备环境】 (6) 第三章:设计思路 (6) 第四章:软件设计 (7) 4.1【设计步骤及关键代码】 (7) 4.1.1【点、直线、矩形、椭圆的绘制】 (9) 4.1.2【连续线及扇形的绘制】 (11) 4.1.3【画刷】 (12) 4.2【设置对话框】 (14) 4.3【颜色】 (14) 4.4【打开与保存】 (15) 第五章:结论与心得体会 (16) 参考文献: (17) 附录: (18) 【调试报告】 (18) 【测试结果】 (18) 【关键代码】 (18)

第1章:设计目的及内容 1.1【设计目的】 1 学习Visual C++的MFC开发程序的步骤。 2 综合运用所学的类、继承和多态的知识。 3 进一步掌握程序的调试方法。 1.2【设计内容】 1利用MFC的向导,创建基于单文档的应用程序; 2 编程实现,绘制线、圆、矩形的功能; 3 能够设定当前要画的图形样式(最少为以上3种)和图形颜色(最少能够设为以下 4 种颜色:黑、红、绿、蓝)。 4 当窗口重绘后,还能保持原来的图形。 5 选做1:能够选中某些已绘制的图形,并删除之。 6 选做2:能够保存已绘制的图形,下次打开时恢复原状。

C++课设:简单画图程序

简单画图程序 1.基本功能描述 本次课程设计的任务是利用计算机和VC开发环境编写一个简单画图程序,该程序的设计指标(即主要功能)有:①用鼠标拖动绘制圆、椭圆、矩形,线等基本图形;②能控制画笔的线宽和颜色;③能对图形进行颜色填充;④在鼠标移动的过程中能实时显示当前绘制的图形。 除了以上几点功能,我有另外添加了工具栏、铅笔、橡皮等功能来使程序更方便地让用户使用,简化了人机交互的过程。 2.设计思路 首先是界面的问题,既然课设的题目是简单画图,那在建立工程的时候就要选择文档结构而不是以前做的基于对话框。可选择单文档结构或多文档结构,但想到画图界面一般只有一个,从简洁的角度考虑,选择单文档结构。而且用户界面在设计的时候要尽可能简单美观,一目了然,对相应功能有图标提示,使用户方便使用。 然后便是画图功能的具体实现。分析课设要求,可以发现功能一要求的的椭圆、矩形、直线可以分别通过Ellipse();、Rectangle();、MoveTo();、LineTo();这四个函数来实现。功能二控制画笔线宽和颜色可以给二者分别关联参数,通过改变线宽参数值来控制线宽,通过调用通用对话框改变颜色参数值来控制颜色。功能三对图形进行颜色填充虽以前未接触过,但查阅资料后发现可以调用ExtFloodFill();并合理设定参数值来实现。功能四的实时显示功能可以通过调用MouseMove();函数来实现。 这些功能需要建立菜单资源来表示各个功能选项,并建立相应的消息响应函数来进行实现。另外,画图程序主要是通过鼠标来进行操作,所以要对鼠标消息的响应及处理函数多下功夫来思考和编写。 至于额外添加的功能,工具栏通过添加工具栏资源和关联相应菜单中画图功能ID实现;铅笔、橡皮的功能则是利用MouseMove();函数,在其中做了一些改动来实现。

第三章 单文档应用程序

第三章单文档应用程序 在本学习情境中主要学习: (1)单文档应用框架 (2)文档与视图 3.1 MFC消息处理 3.1.1事件驱动程序设计 事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。对于需要用户交互的应用程序来说,事件驱动的程序设计有着过程驱动方法无法替代的优点。它是一种面向用户的程序设计方法,它在程序设计过程中除了完成所需功能之外,更多的考虑了用户可能的各种输入,并针对性的设计相应的处理程序。它是一种“被动”式程序设计方法,程序开始运行时,处于等待用户输入事件状态,然后取得事件并作出相应反应,处理完毕又返回并处于等待事件状态。它的框图如图1所示: 图1事件驱动程序模型 3.1.2 MFC的消息处理 在DOS应用程序下,可以通过getchar()、getch()等函数直接等待键盘输入,并直接向屏幕输出。而在Windows下,由于允许多个任务同时运行,应用程序的输入输出是由Windows 来统一管理的。 Windows操作系统包括三个内核基本元件:GDI, KERNEL ,USER。其中GDI(图形设备接口)负责在屏幕上绘制像素、打印硬拷贝输出,绘制用户界面包括窗口、菜单、对话框等。系统内核KERNEL支持与操作系统密切相关的功能:如进程加载,文本切换、文件I/O,以及内存管理、线程管理等。USER为所有的用户界面对象提供支持,它用于接收和管理所有输入消息、系统消息并把它们发给相应的窗口的消息队列。消息队列是一个系统定义的内存块,用于临时存储消息;或是把消息直接发给窗口过程。每个窗口维护自己的消息队列,并从中取出消息,利用窗口函数进行处理。框图2如下:

十款公认最实用的绘图软件评测

十款公认最实用的绘图软件评测 导读: 很多人以为只有专业从事艺术设计类或者画画工作的人才会用到绘图软件,其实不然。在我们的日常生活中,也有许多需要用到绘图软件的职业,工程师、建筑师、原画师、网页设计师、电工师傅等等,在他们的日常工作中都会用到不同类型的绘图软件。 如今市面上有很多种类的绘图软件,但是他们的侧重点都不一样,有的侧重画工业图,有的偏向于艺术设计,还有的偏向于3D画图等,虽然都属于画图软件,但是涉及的方向大不一样。想要正确选择出适合自己的绘图软件,一个个去了解有些不太现实,下面就让小编为大家盘点一下目前公认最好用的10款绘图软件吧! 一、亿图图示专家:亿图图示Edraw Max是一款跨平台使用的全类型图形图表设计软件,用户可以通过它绘制260多种类型的图表,其中包含常用的:流程图、思维导图、信息图、组织结构图、甘特图、地图、线框图、数据模型图、UML以及网络拓扑图等等。 它拥有丰富的精美模板及矢量符号库,操作简单易上手,能让难以理解的文本和

表格转化为简单清晰的图表。除了具备多种绘图功能,亿图还能与其他办公软件相兼容,可以轻松通过软件将文件导出为Office word、excel、ppt、图片、pdf、html、svg、ps,甚至连Visio格式也不在话下! 二、Visio:是微软公司出品的一款的软件,它有助于 IT 和商务专业人员轻松地可视化、分析和交流复杂信息。丰富的组件库,各种各样的图表支持,和word 的无缝对接是visio的强项,但是由于其价格过于昂贵,并且无法在linux和osx下运行,可以选择的模板也比较少,加上设计风格过于扁平化,所以目前成为一款很容易被国产新秀软件替代的产品。

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

简单画图程序-课程设计

简单画图程序-课程设计 目录 1. 基本功能描 述 ............................................................. 1 2. 设计思路 ................................................................. 1 3. 软件设 计 (3) 3.1 设计步 骤 (3) 3.2 界面设 计 (6) 3.3 关键功能的实 现 ...................................................... 7 4. 结论与心 得体会 ........................................................... 8 5. 参考文 献 ................................................................. 9 6. 思考 题 (9) 7. 附 录 ..................................................................... 9 7.1 调试报 告 (9)

7.2 测试结 果 (10) 7.3 关键源代 码 (1) 武汉理工大学《专业课程设计2(面向对象程序设计)》课程设计说明书 简单画图程序 1. 基本功能描述 1) 在菜单处的有相应的菜单项,可以选择绘制的图形形状,如直线、矩形及椭圆,可 -5可供选择,还可以选择线色以及填充色,通过弹出的颜色对话框选择以选择线宽,有1 需要的颜色,如果不选择线宽、线色以及填充色,则按默认的画笔以及画刷来绘制选择的图形。 2) 选择好图形后,通过鼠标可以绘制出相应的直线,矩形或椭圆,鼠标的按下确定图形的起点,鼠标的拖动则确定了图形的终点,即通过鼠标的拖动来决定图形的大小,鼠标弹起,此图形则绘制完毕。 3) 增添了工具栏,有相应的选择项,可以更方便地实现相应的功能。 2. 设计思路 1) 对需要用到的变量进行初始化。 2) 选择相应的图形之后就响应相应的消息处理函数,给shape赋对应的值。选择不同的线宽,线色与填充色,则改变画笔和画刷的属性。 3) 鼠标的按下响应LButtonDown(),定义起点的坐标,鼠标的拖动响应MouseMove()改变终点的坐标,鼠标的弹起响应LButtonUp(),刷新,得到绘制图形。

简易画图板设计报告

设计报告:Graphic简易画 图板 -----韩伟谢程焜肖越周峰 电科二班

1设计目的 设计一个单文档类型的MFC AppWizard (exe)工程,工程取名为:Graphic。此程序将实现简单的绘图功能,包括点、直线、矩形、椭圆、扇形和连续线的绘制。并且能实现绘图的控制,包括线宽、线型和颜色的设置,图形的保存和打开以及笔刷的使用。 2 总体设计 设计图如图6

图6 3详细设计 首先,新建一个单文档类型的MFC AppWizard (exe)工程,工程取名为:Graphic。为此程序添加一个子菜单,菜单名称为“绘图”,并为其添加六个菜单项,分别用来控制不同图形的绘制。当用户选择其中的一个菜单项后,程序将按照当前的选择进行相应图形的绘制。添加的六个菜单项的ID及名称如表1所示。然后分别为这六个菜单项添加命令响应,本程序让视类(CGraphicView)对这些菜单命令进行响应,这六个响应函数的名称分别如表1所示。

在程序运行以后,当用户单击某个菜单项时,应该把用户的选择保存起来,以便随后的绘图操作使用。因此在CGraphicView类中添加一个私有变量m_nDrawType;用来保存用户的选择,该变量的定义如下所述: private: UINT m_nDrawType; 接着,在视类的构造函数中将此变量初始化为0,程序代码如下: CGraphicView::CGraphicView() { // TODO: add construction code here m_nDrawType=0; } 利用switch/case语句,来分别完成相应图形的绘制。当用户选择【绘图】菜单下的不同子菜单项时,将变量m_nDrawType设置为不同的值。程序代码如下:void CGraphicView::OnDot() { // TODO: Add your command handler code here m_nDrawType=1; } void CGraphicView::OnLine() { // TODO: Add your command handler code here m_nDrawType=2; } void CGraphicView::OnRectangle() { // TODO: Add your command handler code here m_nDrawType=3; } void CGraphicView::OnEllipse() { // TODO: Add your command handler code here m_nDrawType=4;

JAVA课程设计画图软件

package hh; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import java.awt.geom.*; class Point { int x,y; Color col; int tool; int boarder; Point(int x, int y, Color col, int tool, int boarder) { this.x = x; this.y = y; this.col = col; this.tool = tool; this.boarder = boarder; } } /* *BasicStroke *Choice *validate(); **/ class paintboard extends Frame implements ActionListener, MouseMotionListener, MouseListener, ItemListener { int xx0=0,yy0=0; int xx1=0,yy1=0; int type=6; int x = -1, y = -1; int con = 1; //画笔大小 int Econ = 5; //橡皮大小 int toolFlag = 0; //toolFlag:工具标记 //toolFlag工具对应表: //(0--画笔);(1--橡皮);(2--清除);

//(3--直线);(4--圆);(5--矩形); Color c = new Color(0,0,0); //画笔颜色 BasicStroke size = new BasicStroke (con,BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL);//画笔粗细 Point cutflag = new Point(-1, -1, c, 6, con);//截断标志 Vector paintInfo = null;//点信息向量组 int n = 1; // *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/ Panel toolPanel; Button eraser, drLine,drCircle,drRect; Button clear ,pen; Choice ColChoice,SizeChoice,EraserChoice; Button colchooser; Label 颜色,大小B,大小E; paintboard(String s)//构造函数 { super(s); addMouseMotionListener(this); addMouseListener(this); paintInfo = new Vector(); /*各工具按钮及选择项*/ //颜色选择 ColChoice = new Choice(); ColChoice.add("黑色"); ColChoice.add("红色"); ColChoice.add("蓝色"); ColChoice.add("绿色"); ColChoice.addItemListener(this); //画笔大小选择 SizeChoice = new Choice(); SizeChoice.add("1"); SizeChoice.add("3"); SizeChoice.add("5"); SizeChoice.add("7"); SizeChoice.add("9"); SizeChoice.addItemListener(this); //橡皮大小选择 EraserChoice = new Choice();

单文档视图结构ActiveX控件

单文档/视图模式是MFC编程里比较强大的一种编程模式,如果ActiveX控件能够用这种模式的话,将可以做出非常强大的Web在线应用。 下面我们就介绍一种把单文档/视图模式的程序改造成ActiveX控件的方法。 做起来很难,但是完成了会很有成就感,本方法来源于15Seconds。在VC6.0和https://www.wendangku.net/doc/708462826.html,下都已证明可行。我用这个方法做了一个Web上的在线服装设计软件,Client 端支持NT4.0,客户公司有上千台NT4.0。据美国同事说在投标中击败了Altium公司(电路设计软件Protel的开发商)的方案,哈。 需要要两个文件: // ActivDoc.cpp : implementation file // #include "stdafx.h" #include "ActivDoc.h" CActiveXDocTemplate::CActiveXDocTemplate(CRuntimeClass* pDocClass, CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass) : CSingleDocTemplate(IDR_NOTUSED, pDocClass, pFrameClass, pViewClass) { ASSERT(pFrameClass); } CFrameWnd* CActiveXDocTemplate::CreateDocViewFrame(CWnd* pParen tWnd) { CWaitCursor cursor; TRY { ASSERT(pParentWnd && IsWindow(*pParentWnd)); ASSERT_KINDOF(CActiveXDocControl, pParentWnd); m_pParentWnd = pParentWnd; m_pFrameWnd = NULL; // OpenDocumentFile is a virtual method (implemented in

《认识画图软件》教学设计

《认识画图软件》教学设计 知识与技能: 1、认识Windows XP系统中自带的画图软件。 2、掌握画图软件的启动与退出的方法,并熟悉画图软件窗口的组成。 3、熟练掌握工具箱中个别工具的使用及操作方法。 过程与方法:通过运用画图软件绘画,进一步熟练掌握画图软件的操作及使用方法。 情感态度与价值观:通过画图软件的学习,使学生进一步熟练掌握画图软件各部分的操作方法,同时激发学生对学习电脑的兴趣,感受成功,体验学习计算机,用计算机画画的快乐! 教学目标: 1、知道并掌握画图软件的打开、退出方法; 2、认识并掌握画图窗口的各个组成部分; 尝试使用画图软件工具箱中的椭圆、铅笔、直线、橡皮工具。 教学重点:认识并掌握画图窗口的各个组成部分。 教学难点:画图软件工具的认识及操作方法。 教学过程: 一、导入 我们在上美术课的时候,我们都用一些什么工具画画? 接下来我们来欣赏几张图画,你喜欢它们吗?看它们美吗?你们知道这些画是怎么画出来的吗?这些画都是用电脑画出来的。你们想不想也用电脑试一试,跟他们比一比,看你们能不能超过他们? 如果想用电脑画画,首先我们就应该先认识一些图像处理软件。目前,有许多图像处理软件可以用来画画,今天,我们就来学习这个大家庭中的一个最简单,最容易学会的成员,利用它我们可以画出很多漂亮的图画,比如我们刚才看到的。今天我们就来一起来学习并认识画图软件。(播放PPT并板书课题) 二、新课讲解 “画图“软件是Windows系统中的一名成员。我们想用它来画出漂亮的图画,我们就应该先去了解它,想了解它就需要启动或是关闭它。 第一部分认识画图软件(理论部分) (一)启动画图软件的方法:(边说边在教师机上演示,并把最后结果用PPT 的形式展示在教师机上) 1、鼠标单击开始——程序——附件——画图。 2、双击桌面上的“画图”软件图标。 (二)关闭画图软件的方法:(边说边在教师机上演示,并把最后结果用PPT

课程设计常用数学软件

《常用数学软件介绍》课程设计用Matlab求解下列各题,要求:抄题,写出程序、运行结果,根据要求贴上运行图。 1、求矩阵 211 020 413 A - ?? ? = ? ? - ?? 的逆矩阵1 A-及特征值和特征向量。 解: >> clear; A=[-2 1 1;0 2 0;-4 1 3]; inv(A) [V,D]=eig(A) ans = Columns 1 through 2 Column 3 -1.5000e+000 5.0000e-001 5.0000e-001 0 5.0000e-001 0 -2.0000e+000 5.0000e-001 1.0000e+000 V = Columns 1 through 2 Column 3 -7.0711e-001 -2.4254e-001 3.0151e-001 0 0 9.0453e-001 -7.0711e-001 -9.7014e-001 3.0151e-001 D = -1 0 0 0 2 0 0 0 2 2、化方阵 222 254 245 A - ?? ? =- ? ? -- ?? 为对角阵。 解:A=[2 2 -2;2 5 -4;-2 -4 5]; >> diag(diag(A)) ans = 2 0 0 0 5 0 0 0 5 3、已知 422134 305,203 153211 A B - ???? ? ? =-=-- ? ? ? ? - ???? ,在MA TLAB命令窗口中建立A、B矩阵并对

其进行以下操作: (1) 计算矩阵A 的行列式的值det()A (2) 分别计算下列各式:1122,*,.*,,,,T A B A B A B AB A B A A --- 解: (1)、 A=[4 -2 2;-3 0 5;1 5 3]; >> det(A) ans = -158 (2)、 ans = 7 -7 0 -4 0 13 0 11 5 ans = 12 10 24 7 -14 -7 -3 0 -8 ans = 4 -6 8 6 0 -15 2 -5 3 ans = -2.2204e-016 -6.6613e-016 2.0000e+000 -2.7143e+000 -8.0000e+000 -8.1429e+000 2.4286e+000 3.0000e+000 2.2857e+000 ans = 4.8734e-001 4.1139e-001 1.0000e+000 3.6709e-001 - 4.3038e-001 2.7756e-017 -1.0759e-001 2.4684e-001 1.3878e-017 ans = 24 2 4 -7 31 9 -8 13 36 ans = 4 -3 1 -2 0 5 2 5 3 4、在MA TLAB 中分别利用函数rank 、函数inv 求下列矩阵的秩: (1) 16323540,11124A -?? ?=- ? ?--?? 求 rank(A)=?

画图教程1(老师辛苦了)

画图教程 老师,您辛苦了! 难点: 1.花瓶的颜色渐变。 2.画绿叶和花朵时曲线工具的运用。 1.画桌子。 打开《画图》程序,在颜料盒里点击鼠标左键选择黑色作为前景色,点击鼠标右键选择黄褐色作为背景色,然后使用矩形工具,选择第二种模式,画一个长方形作为桌面;依次选择两种稍浅的黄褐色作为背景色,在桌面的下方画两个大小适当的长方形,这样桌子就画好了,如图1所示。 2.画花瓶。 使用曲线工具在桌面的左侧画出花瓶的轮廓,然后给花瓶填充上蓝色的渐变效果,如图2所示。(对颜色渐变效果的可采用分区域处理,也可通过如PS渐变涂色。) 3.画绿叶。 使用曲线工具在花瓶的上方画出几片长长的叶子,然后使用用颜色填充工具给它们涂上深浅不同的绿色,如图3所示。(提示:如果只使用一种绿色,那画出来的叶子就显得有些呆板了。)

4.画花朵。 使用曲线工具画出花瓣,使用喷枪工具画出花蕊,然后将画好的花朵复制出几个来,适当调整它们的大小、形状,接着使用用颜色填充工具分别给它们涂上不同的颜色,再拖到绿叶上方不同的位置,如图4所示。 5.画粉笔盒。 在桌子的右侧画一个小小的粉笔盒,会让画面构图看起来平稳些。使用矩形工具画出粉笔盒,将其填充为淡蓝色;使用直线工具画

出几支粉笔,分别将其填充为不同的颜色;使用文字工具在粉笔盒的正面输入“粉笔”二字,字体为黑体,文字颜色为白色,如图5所示。 6.画黑板。 先将前面画好的图画保存起来,然后新建一个文件,按照画桌子的方法画出一块黑板,接着使用文字工具在黑板上输入祝福语“老师:您辛苦了!”,如图6所示。(可以根据自己的喜好来设置文字的颜色、大小和字体。) 7.组合图画。 在《画图》程序中打开刚才保存的图画文件,将其选中并复制,然后粘贴到画黑板的这幅图画中,如图7所示。(提示:在粘贴之前一定要先选中工具箱下面的“透明模式”哦!)

Java画图软件设计报告

佛山科学技术学院 《可视化编程技术》课程设计报告 画图软件设计 学生姓名:周敏婷 学号: 2011914123 年级专业:11级教育技术学2班指导老师:容汝佳 学院:教育科学学院 广东★佛山 提交日期:2013年6月

目录 1. 前言 (2) 2.概要设计 (3) 2.1 开发环境 (3) 2.2 画图软件功能 (3) 2.3 界面设计 (3) 2.4 类的框架结构图 (4) 3. 详细设计 (4) 3.1 使用的JAVA类的说明 (4) 3.2 类的主要方法 (5) 3.2.1 颜色选择

器 (5) 3.2.2 控制画笔样式 (5) 3.2.3 选取颜色按钮的监听件类 (6) 3.2.4 设计总体认识 (6) 3.2.5 程序流程图 (7) 4. 运行结果 (7) 5. 测试分析 (8) 5.1 程序运行情况 (8) 6. 源程序 (8) 参考文献 (14) 设计总

结 (14)

摘要:该程序是一个图形界面的简单的java画图软件,具有良好的界面,使用人员能快捷简单地进行操作。该画图软件操作较为简单,只需要一直按着左键就能根据你鼠标移动的方面,画出你想要的图案。你也可以选择你自己想到的颜色和画笔的粗细。而且可以显示你当前的画笔的状态。界面为灰白对称。是一个非常简单的作图工具,让人能轻松上手。 关键字:java,画图类,方法,事件 1 前言 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的画图工具,可以实现简单的画图作图功能,满足日常基本的工作学习和娱乐需要。 Java是由Sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。正因为如此,Java已成为当今Internet上最流行、最受欢迎的一种程序开发语言。 Java开发小组把Java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。Java基本版本叫Java 2标准版(Java 2 Standard Edition,J2SE),它包含建立Java应用程序或者是Applet 所需的应用程序编程接口(API)。Java 2移动版(The Java 2 Mobile Edition,J2ME)包含创建无线Java应用程序的API。还有Java 2 企业版(The Java 2 Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。 Java语言是由C++语言发展起而来的,是一种彻底的面向对象的程序设计语言。作为一种纯面向对象的程序设计语言,它非常适合大型软件的开发。Java语言去掉了C++语言的一些容易引起错误的特性。Java语言的特点有:面向对象、跨平台、安全性、多线程和图

程序结构

5.1.1用户登记表设计 表5-2用户登记表 用户登记表(ds—data) 包含与用户登记描述要求相匹配的字段 字段名字段类型字段长度主键索引备注 Id 自动编号长整型是有id Xue If) 文本8 否有职工工号 Name 文本20 否无姓名 Tel 文本20 否无电话 Fang_ID 文本6 否有房间号 DANWEI 文本10 否有单位 IP 文本15 否无lp MAC 文本14 否无maC qs—ny 文本20 否无起始年月 ZZ nV 文本20 否无终止年月 ren 1C 文本18 否无哪个管理员录入 ru date 时间/日期长否无登记日期 ru time 时间/日期长否无登记时间 Shouf bz 文本l 否无登记标志 kaitong_bz 文本1 否无开通标志 5.1。2管理员注册表设计 表5-3管理员注册表 管理员注册表(register) 包含要求配置系统管理员相匹配的字段 字段名字段类型字段长度主键索引备注 IC 文本18 是有身份证号 Name 文本20 否无姓名 Password 文本18 否无口令 Sex 文本2 否无性别 Age 数字整型否无年龄 Createt.ime 时间/日期长否无注册时间 Lastvisittime 时间/日期长否无最后登陆时间 regi sted—count 数字长整型否无已经注册人数 Visittimes 文本50 否无登陆次数 5.1.3交换机数据表设计 表5-4交换机数据表 交换机数据表(switch) 包含与交换机信息以及网络运行相匹配的字段字段名字段类型字段长度主键索引备注 Xuhao 数字整型是有序号 Name 文本50 否无安放位置 SW nO 文本6 否无交换机编号 Ipdz 文本15 否无IP地址 USer name 文本50 否无登陆用户名 USer mlma 文本50 否无登陆用户密码 sw__xinghao 文本12 否无交换机型号 Ipduan 文本3 否无可管理的ip段

VC++单文档程序的设计(1)

教案 2007 ~2008 学年第一学期 主讲教师 课程名称面向对象程序设计(VC++) 课程类别专业基础课 学时及学分80、4 授课班级 使用教材 VC++的使用及面向对象软件工程实例分析 系(院、部) 教研室(实验 室) 计算机应用教研室

课时授课计划 课次序号: 一、课题: ch5 单文档程序编程(1)字体与绘图 二、课型:讲授 三、目的要求: 1、理解设备环境类CDC及其派生类的功能与使用方法。 2、理解图形设备接口GDI类的功能及使用方法。 3、学会字体设置和文本输出。 4、学会简单的图形绘制方法。 四、重点、难点: 重点容:字体设置与文本输出、图形绘制。 难点:正确理解CDC类和GDI类的功能与使用方法。 五、教学方法及手段: 采用案例教学,在实例中理解CDC类和GDI类的使用,重点讲解其中的几个功能,其他的要求学生课下逐步深入学习,达到举一反三的目的。 六、参考资料: 《VC++实用教程》(第二版)阿奇编著,电子工业第8章 《C++面向对象程序设计》涛编著,高等教育,第10章 七、作业: 简答:习题5.1 , 5.2 , 5.6 设计:(1) 5.9 (2)单文档实验容1:编写单文档应用程序,当用户双击鼠标左键时,能在客户区画一个椭圆,并用45度交叉线填充。 八、授课记录: 九、授课效果分析:

十、教学进程(教学容、教学环节及时间分配等) 1、复习 单文档应用程序的特点:应用程序类、主框架类、文档类、视图类 文档与视图的关系 2、导入课题 如何再单文档窗口中按照需要输出文本、绘制图形呢? 利用CDC类和GDI接口类,它封装了绘图所需要的所有函数,是用户编写图形和文字处理程序必不可少的。 3、教学容 ch5.1 概述 一、设备环境类: 1、CDC类: 设备环境是Windows保存的一个数据结构,该结构包含应用程序向设备输出时所需要的信息,例如图形是在屏幕上输出还是在打印机上输出。 为了让用户使用一些特殊的设备环境,MFC还提供了CDC类的派生类, CPaintDC、CClientDC、CwindowDC、 CmetaFileDC 其中,前两个较常用。 2、CDC类的主要功能: SelectObject():选择绘图对象,返回被替代的对象的指针,常用于选择画笔、画刷、字体、图片等。 MoveTo():移动当前位置 LineTo():从当前位置画线 Ellipse():画椭圆 TextOut():用当前字体在指定位置输出文本 二、颜色和颜色对话框的使用 绘图和显示文本时都要按照指定的(或默认的)颜色执行。 常用的颜色空间右RGB和YUV两种。 其中,RGB颜色空间选用红、绿、蓝三种颜色的分量配比来表示,即三基色原理。 而YUV颜色空间用亮度(Y)和色差(V、U)表示。 在MFC中采用RGB颜色空间。编程设置颜色的方法有两种:

用画图程序绘制图形

用画图程序绘制图形 教学目标: 认知目标:1、了解画图程序的基本功能 2、掌握绘制图形的一般方法与步骤 技能目标:1、初步学会直线、矩形、椭圆等绘图工具的用法 2、学会绘制一些简单的平面图形 水平目标:培养学生用画图程序绘制简单图形的水平和自学与应用水平 情感目标:培养学生良好的学习习惯 教学重点: 1、绘图工具的使用 2、绘制简单的平面图形 教学难点:拖动鼠标绘图的方法 课时安排:一课时 教学步骤: 一、导入新课: 计算机是一个奇妙的东西,它能够为我们描绘出五彩斑斓的世界,今天这节课,就让我们利用它的绘图软件来打造一幅属于我们自己的作品。 展示绘图作品——《我的小屋》 二、讲授新课: 1、软件的启动:鼠标依次单击“开始——程序——附件——画图”。(教师演示,学生作好笔记。) 2、画图软件的界面组成:标题栏、菜单栏、工具栏、属性栏。(学生对照讲解观察电脑桌面,标记各部分名称与作用。) 3、绘图工具的使用方法: (1)简单的几何图形; (2)简单的线条; (3)图形的着色;

(4)橡皮擦的使用。 (教师逐一讲解常用工具的使用方法,学生识记。) 小技巧:画直线、画正方形、画圆时能够与Shift键配合使用。 4、演示《我的小屋》的完成过程,让学生从中观察、体会绘图工具的使用方法,加深印象。 三、学生活动: 1、绘制一些简单的平面图形,熟悉绘图工具的使用。 2、绘制显示器、键盘、软盘等平面图形。 3、为自己绘制的图形添上自己喜欢的颜色。 四、拓展延伸: 任务:展开想象,利用画图软件绘制一幅平面作品,并保存。 提示:绘图的一般方法与步骤 1、确定画布尺寸 2、在工具箱中选择绘图工具和在属性框中选择样式 3、在颜料盒中选择前景色(画笔色)和背景色(画布色) 4、在画布上绘制图形

c++课程设计(简易绘图程序)

目录 1、需求与功能分析 (1) 2、系统总体框架 (2) 3、模块设计与分析 (3) 3.1画图模块 (3) 3.2贴图模块 (3) 3.3窗口模块 (4) 3.4菜单模块 (4) 3.5工具栏与状态栏模块 (4) 4、类的设计与分析 (4) 4.1、CAboutDlg类 (4) 4.2、CChildFrame类 (4) 4.3、CDib类 (4) 4.4、CDrawingDoc类 (5) 4.5、CDrawingView类 (6) 4.6、CMainFrame类 (7) 4.7、CSettingDlg类 (7) 5、特色算法分析 (8) 5.1 CDib类中的显示bmp位图 (8) 5.2 CDrawingView类中的画图部分 (10) 6、功能测试 (13) 7、存在的不足与对策 (16) 8、程序源代码 (17) 9、使用手册 (17) 10、参考文献 (20)

1、需求与功能分析 为了检验一个学期以来自己学习c++这门课程能够学到多少知识,加上原来就对图像处理就比较感兴趣,曾经更有想过要做一个可以合成红蓝3D图片的一款软件,就是那种需要带上红蓝眼镜才可以看到3D效果的那种图片,自己也有用photoshop做过这样的图片,但是photoshop需要调很多东西才能合成这样的图片,而且还要用相机送两个不同的角度拍两张照片作为源图片去合成红蓝3D图片,虽然我知道原理并不难,但是当我选择了”简易绘图程序”这个课程设计的题目之后,才发现每实现一个功能都需要花很多的精力,而且实现那些功能之后还会发现各种各校的bug,需要细心去寻找解决的办法。如今课程设计也要上交,一样还有很多我想实现的功能都还没实现,最终也没有实现我想要实现的功能---合成红蓝3D图片。只做了一些简单的绘图功能。 功能分析,目前这个软件的主要功能有如下: 1、画直线:通过OnLine()函数实现。 2、画矩形:通过OnRectangle()函数实现。 3、画椭圆:通过OnEllipse()函数实现。 4、铅笔工具:可以画任意线条。通过OnPencil()函数实现。 5、橡皮擦:可以擦除所画的线条。该功能还没实现。 6、右键弹出菜单:可以在客户中点击鼠标右键,快速选择常用菜单。通过 OnContextMenu函数实现。 7、状态栏显示鼠标移动的坐标:在程序的右下角显示,通过OnUpdateX(CCmdUI *pCmdUI)和OnUpdateY(CCmdUI *pCmdUI)这两个函数实现。 8、画图颜色选择:可以画任何颜色的线条,通过OnEditColor()函数实现。 9、读取bmp位图:可以在电脑中选择一个bmp位图,在程序中显示出来,通过 新建一个Cdib类来读取bmp文件信息再view类和Doc类调用来显示该位图。 10、保存为bmp位图:可以将在程序所画的图形保存为一幅bmp图片,通过view 中的SaveAsBmp(CString filename)实现。 11、线条类型及线宽的设置:可以将画出的线条设置成实线、虚线、点线,还可

相关文档
相关文档 最新文档