当前位置:文档之家› 基于C++的简单Windows画图程序设计

基于C++的简单Windows画图程序设计

基于C++的简单Windows画图程序设计
基于C++的简单Windows画图程序设计

学校代码 10126 学号 00861003 本科学年论文

题目基于C++的简单Windows画图程序设计

院系内蒙古大学鄂尔多斯学院

专业名称自动化

年级 2008 级

学生姓名宋杰

指导教师金涛

2011年06月20日

学年论文指导教师评阅意见

2

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

基于C++的简单Windows画图程序设计

摘要

本文简要介绍了基于C++的简单画图程序的实验设计过程。该设计以C++这一高级语言为基础,依托VC++开发环境中的MFC类设计而成,可实现最基本的绘图以及图形的保存与修改等功能。程序开发过程中采用了面向对象技术,易于扩充和维护。通过本次设计对面向对象技术及MFC有更深刻的了解,为今后图形系统的开发及可视化程序的设计提供了一个良好的实践基础。

关键词:VC++,MFC,对象,画图

I

基于C++的简单Windows画图程序设计 00861003 Simple Windows Drawing Program Based On C++

ABSTRACT

This article briefly describes the design process for a simple drawing program based on C++.The design based on the C++ language, a high-level language, relying on MFC classes in the VC++ development environment designed, can provide the most basic features such as saving and modifying of the drawing, and graphics.The program using object-oriented technology in the development process, is easy to expand and maintain. Through this design to a more profound understanding of object-oriented technology and MFC for future development and Visual program design of graphic system provides a good basis for practice.

KEYWORDS: VC++, MFC, object, drawing

II

目录

第一章引言...................................... 错误!未定义书签。第二章设计背景................................... 错误!未定义书签。

2.1 C++语言的发展背景.......................... 错误!未定义书签。

2.1.1 C++语言的由来......................... 错误!未定义书签。

2.1.2 C++语言的主要特点..................... 错误!未定义书签。

2.2 MFC简介.................................... 错误!未定义书签。

2.3 程序开发环境Visual Stdio 2008 简介......... 错误!未定义书签。

2.3.1 Visual C++库.......................... 错误!未定义书签。

2.3.2 Visual C++开发环境.................... 错误!未定义书签。

2.4 图形设备接口 GDI ........................... 错误!未定义书签。

2.4.1 设备上下文............................ 错误!未定义书签。

2.4.2 绘图对象类............................ 错误!未定义书签。第三章程序设计.................................... 错误!未定义书签。

3.1 设计预期目的............................... 错误!未定义书签。

3.2 设计思路................................... 错误!未定义书签。

3.3 设计流程................................... 错误!未定义书签。

3.4 设计中使用到的主要对象类简介............... 错误!未定义书签。

3.4.1 CPen 类............................... 错误!未定义书签。

3.4.2 CBrush 类............................. 错误!未定义书签。

3.4.3 CRectangle类......................... 错误!未定义书签。

3.4.4 CCircle类........................... 错误!未定义书签。

3.4.5 CMirrorShape类...................... 错误!未定义书签。

3.5 程序设计过程简述.......................... 错误!未定义书签。

3.5.1 菜单的初始设计过程.................. 错误!未定义书签。

3.5.2 直线绘制功能设计过程简述 ........... 错误!未定义书签。第四章程序运行结果及说明........................ 错误!未定义书签。第五章结果与讨论 ................................ 错误!未定义书签。参考文献.......................................... 错误!未定义书签。致谢............................................ 错误!未定义书签。附录一............................................ 错误!未定义书签。

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

第一章引言

图形是Windows应用程序的重要组成部分,优美的图形界面是所有成功软件的共同特点。而绘图是Windows应用程序的重要功能之一。与面向过程的C语言不同,C++是一门面向对象的,它为程序开发人员提供了极大的便利,因此C++是当前最为流行的基于Windows的语言开发工具之一,其功能的强大,几乎无所不能,程序开发人员多以精通VC++为追求目标。本次设计利用VC++开发简单的画图程序,并进一步了解和应用面向对象程序设计的思想。

第二章设计背景

2.1 C++语言的发展背景

2.1.1 C++语言的由来

语言的发展是一个逐步递进的过程,C++ 是直接从 C 语言发展过来的。C 语言的原型ALGOL 60语言(也称为A语言)。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言,后来由美国国家标准化协会(American National Standards Institute)制定了一个C语言标准,于一九八三年发表。通常称之为ANSI C。但是随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。为了解决软件危机,在20世纪80年代提出了面向对象的程序设计方法。以C 语言为基础,C++应运而生。C++是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup 博士及其同事于20世纪80年代初在C语言的基础上开发成功的。C++保留了C语言原有的所有优点,增加了面向对象的机制。C++是由C发展而来的, C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。[1]

2.1.2 C++语言的主要特点

1、增加了面向对象的机制,提高了开发大型程序的效率,同时减轻了程序开发人员的负担。

2、数据类型丰富、齐全。标准C++供了整数、实数、字符、字符串等基本数据类型,还提供数组、指针、结构体等构造数据类型。C++还增加了类这一特殊数据类型的定义机制。

3、语法限制不太严格,程序自由度大。但这既是优点也是缺点,该问题一直为各国程序开发者争论不休。而且,到目前为止没有一个完整的C++标准。

4、编译系统生成的目标代码质量高,程序执行效率高。具有直接的硬件处理能力。

5、程序可移植性通用性较强。C++中对于类的继承使得程序有着良好的可移植性。

2.2 MFC简介

MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎, MFC是Win API与C++的结合。API,即微软提供的Windows下应用程序的编程语言接口,是一种软件编程的规范,但它不是一种程序开发语言,可以允许用户使用各种各样的第三方的编程语言来进行对Windows下应用程序的开发,使这些被开发出来的应用程序能在Windows下运行,例如VB,VC++,Java,Delhpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在Windows的消息机制和绘图里,遵守

- 1 -

基于C++的简单Windows画图程序设计 00861003

Windows作为一个操作系统的内部实现。

MFC是用来编写Windows应用程序的C++类集,该类集是按层次结构组织起来的,其中封装了大部分Windows API函数和Windows控件,它所包含的功能涉及到整个Windows操作系统。MFC不仅为用户提供而且还提供了创建应用程序的组件。使用MFC类库和Visual C++提供的高度可视的应用程序开发工具,可使应用程序开发变得更简单,极大地缩短开发周期,提高代码的可靠性和可重用性[2]。MFC把所有的API函数封装到各种类与对象内,是面向对象与Windows编程的有机结合,真正的体现出了C++这一面向对象机制语言的风格。

2.3 程序开发环境Visual Stdio 2008 简介

Microsoft Visual Studio 2008是微软与2007年底发布的一款集成开发环境,是面向Windows Vista、Office 2007、Web 2.0的开发工具。Visual Studio 集成开发环境(IDE)提供了一组工具,它集成了创建、编译、连接和测试Windows 应用程序的功能。开发环境提供这一组工具,完全是为了开发和调试更加方便,Visual C++ 2008包括了Visual C++库及Visual C++开发环境。

2.3.1 Visual C++库

Visual C++库包括行业标准活动模板库(ATL)、Microsoft 基础类(MFC)库、及各种标准库(如标准C++)库。这些标准库由iostream 库、标准模板库(STL)和C运行时库(CRT)组成。CRT包括已知引起安全问题的函数的安全增强替代项。STL/CLR库为托管代码开发人员引入了STL具有数据封装新功能的C++支持库,其设计意图在于简化面向CLR的程序,这些库减少了程序开发人员的工作量。2.3.2 Visual C++开发环境

该开发环境为项目管理与配置(包括更好的支持大型项目)、源代码编辑、源代码浏览和调试工具提供强力支持。该环境还支持IntelliSense,在编写代码时,该功能可以提供智能化切且定于上下文的建议。在VC++编译区,能够自动识别C++语言的关键字和Windows的关键字,有助于编程人员在编写程序时检查错误。其调试工具方法为断点调试、堆栈调试及跟踪调试[3] 。

2.4 图形设备接口 GDI

Windows操作系统是一种与设备无关的操作系统,因此Windows应用程序在与外设打交道时无须考虑具体的硬件设置。Windows操作系统是通过相应的功能模块来实现设备无关性的,图形设备接口(Graphics块viceInterface,GDI)就是这样的一种功能模块。当Windows应用程序需要在图形输出设备(显示器、打印机、绘图仪)上输出图形时,通过图形设备接口调用图形输出设备的驱动程序来完成输出过程[4] 。在VC++中MFC提供了两种用于支持GDI绘图的类,分别为设置绘图属性和绘制图形属性的上下文设备类,以及封装了各种GDI绘图对象的绘图对象类。

2.4.1 设备上下文

设备上下文是GDI的核心,是用于代表设备连接的一种内部数据结构,该结构的数据规定了GDI函数的工作细节,其内容与具体的输出设备(打印机、显示器等)相对于。另外,通过调用特定的GDI函数可以随时对这些绘图属性进行适当的调整。

2.4.2 绘图对象类

GDI的对象类包括对画笔、画刷、位图、字体、调色板及区域等对象的表示和操作。例如CPen类、CBrush类、CCreateRectangle类、CMirro类以及CMove

- 2 -

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

类等。不同的对象类可以完成不同的功能。在MFC中,CGdiObject是图形对象类的抽象基类,所有的GDI对象类都是通过其派生而来的。本次设计中具体用到的对象类将在下文中作进一步阐述。

第三章程序设计

3.1 设计预期目的

利用MFC类库设计简单的Windows画图程序,实现绘制直线、矩形、圆形等图形功能,并可改变线宽和线的颜色。在设计过程中熟悉并掌握MFC类库的使用,进一步提高C++编程的技能。

3.2 设计思路

本次设计以Microsoft Visual Studio 2008作为开发环境,并利用微软基础类库(MFC)进行程序的设计开发。主要包括菜单栏、工具栏等一系列的设计。由于使用了MFC类库,使得程序的设计负担大大减轻。首先,利用MFC类库生成一个单文档应用程序,该程序已包含最基本的程序属性,例如菜单栏、工具栏、状态栏等;其次为已生成的程序菜单栏和工具栏中分别添加绘图项和绘图工具按钮,并为其添加相应的消息响应处理函数,从而实现不同的绘图功能,如绘制直线、绘制矩形框、绘制圆等;随后加入对以绘制图形的操作到菜单栏,同样添加相应的消息响应处理函数,以实现图形的镜像、移动和线的颜色和宽度调整;最后,对整个程序进行整体编译,在屏幕上输出应用程序,并测试设计效果。本次设计的部分原程序详见附录。

3.3 设计流程

主程序与绘图对象类设计流程如图3.1及图3.2所示。

3.4 设计中使用到的主要对象类简介

3.4.1 CPen 类

在MFC中画笔的对象,它用来完成绘制线条的任务。初始化时,系统自动提供了一支黑色的默认画笔。也可以进行自定义。创建画笔对象时,需要使用CPen类的构造函数,它的原型为:

CPen(Int style,int width ,COLORREF color);

style:画笔的样式

width:画笔的宽度

color:画笔的颜色(颜色用RGB值来描述)

3.4.2 CBrush 类

CBrush 类中封装有MFC的画刷对象。使用CBrush对象之前要构造它,然后传给需要画刷的CDC成员函数。画刷可以是实线的、阴影线的或图案的。

3.4.3 CRectangle类

MFC中的矩形类,由图形基类派生,封装了矩形特征。其设计中使用的构造函数为:

CRectangle::CRectangle()

- 3 -

基于C++的简单Windows画图程序设计 00861003

{

strcpy(m_className,"CRectangle");

}

图3.1 主程序流程图

3.4.4 CCircle类

MFC中的圆类,同样由图形基类派生,封装了圆的特征。设计中该类的构造函数为:

CCircle::CCircle()

{

strcpy(m_className,"CCircle");

nRadius = 0;

}

- 4 -

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

图3.2 绘图对象类设计流程

3.4.5 CMirrorShape类

镜像类,通过该类能够实现图形的镜像操作。该类的声明如下:

class CMirrorShape

{

public:

POINT MirrorBeginPos; //镜像始点

POINT MirrorEndPos; //镜像终点

double SinAngle; //正弦

double CosAngle; //余弦

double TgAngle; //正切

POINT SourceEndPos; //源点终点

POINT SourceBeginPos; //源点始点

public:

CMirrorShape();

virtual ~CMirrorShape();

virtual void Mirror(HDC hdc,POINT BeginPos,POINT PrePos, POINT EndPos){}

void SetSinCos(POINT BeginPos,POINT EndPos);

void SetMirrorPos(POINT BeginPos, POINT EndPos);

};

3.5 程序设计过程简述

本次设计基于MFC类库,使设计工作量大大减轻,但实际上仍存在大

- 5 -

基于C++的简单Windows 画图程序设计 00861003

- 6 -

量的设计工作,只是其中的一部分由MFC 类库帮助程序开发者完成。限于

篇幅,仅对菜单的初始设计过程及直线绘制的设计过程作简要介绍。

3.5.1 菜单的初始设计过程

首先,打开Microsoft Visual Studio 2008集成环境,如图3.3所示。

第二步,单击“文件”→“新建”→“项目”,新建一个项目并命名

为drawing ,项目类型为MFC ,模板为MFC 应用程序。如图3.4所示。

图3.3 VS2008集成环境 图3.4 新建项目drawing

第三步,在MFC 应用程序向导的应用程序类型对话框中选择单文档,其他默

认即可,然后点击“下一步”。如图3.5所示。

第四步,出现“复合文档支持”对话框,使用默认设置即可。

第五步,在“文档模板字符串”对话框中填入程序中使用文件的扩展名,如.jpeg ,.bmp 等,随后再次单击“下一步”。如图3.6所示

图3.5 应用程序类型对话框 图3.6 文档模板字符串对话框

第六步,由于本次设计没有使用数据库,因此在“数据库支持”对话框中

的“数据库支持”中选“无”。单击“下一步”。如图3.7所示。

第七步,对于之后的“用户界面功能”和“高级功能”对话框,使用默认即可。如图3.8和3.9所示。

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

- 7 -

图3.7 数据库支持对话框 图3.8 用户界面功能对话框

最后,向导会列出设计中使用的MFC 类,如图3.9所示。点击“完成”,将生成的源代码进行编译,就得到了初始的菜单。如图 3.10所示。当然,这并不满足设计要求,需要进行修改。

图3.9 高级功能对话框 图3.10 生成的类对话框

基于C++的简单Windows 画图程序设计 00861003

- 8 -

图3.11生成的初始菜单

3.5.2 直线绘制功能设计过程简述

直线绘制功能的实现主要依靠软件完成,该功能由Line.h 及Line.cpp 两个文件组成。具体源代码请参见附录一。

在Line.h 中主要定义了绘制直线所用的类CLine ,该类继承了基类CShape 中的成员,并在类体中声明了坐标捕捉函数pick 及绘图函数Draw 等相关函数。总之,Line.h 文件主要完成直线绘制代码的定义部分。

在Line.cpp 中主要完成功能的实现。文件中具体对坐标捕捉函数pick 及绘图函数Draw 等相关函数进行了定义。其中绘图函数Draw 主要用于产生画笔Pen 并生成直线;而坐标捕捉函数pick 主要用于定义直线的长度;最后,直线起点和终点确定函数DrawRect 用于标记直线的起点和终点。

限于篇幅,对源代码就不进行详尽的解释了。利用该代码可以实现直线的任意绘制,总的来说还是比较方便的。

第四章 程序运行结果及说明

1、运行程序,弹出初始对话框,如图4.1所示。

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

- 9 -

图4.1 初始运行对话框 图4.2 直线、矩形及圆形绘制效果图

2、分别进行直线、矩形和圆形的绘制如图4.2所示。

图4.3 绘制镜像 图4.4 图形移动

3、绘制镜像,如图4.3所示。

4、图形移动,如图4.4所示。 第五章 结果与讨论

由于功能完善、开发迅速独立、针对性强、成本低廉等优点,使用MFC 在特定领域开发专用软件已经成为了一种趋势。本次设计利用MFC 类库,使用C++语言实现了简单的画图功能。虽然已经初步实现了基本的绘图功能,如绘制直线、矩形和圆形,但并未实现线宽度和线颜色的任意变换这一功能。主要原因有:

1、时间准备不足。

2、对MFC 的掌握不够,没有正确的写入代码。

3、C++编程技术掌握比较肤浅,没有真正掌握程序设计方法。

这些问题都将会在以后逐步完善。

这次设计让我对C++语言有了深层次的认识,之前总是认为C++语言只能实现一些小的功能,如排序、查找输出等。设计的过程中让我对这门语言有了新的认识,尤其是对MFC 类库的接触令我对应用程序的开发有了一个浅显的了解。虽然程序的功能并未完全实现,但这次设计对我的编程能力有了很大的提高。我也会在以后的时间里继续研究,不断提升自己的能力。

基于C++的简单Windows画图程序设计 00861003

参考文献

[1]谭浩强.C++程序设计[M].北京:清华大学出版社,2004

[2]黄维通. Visual C++面向对象与可视化程序设计[M].北京:清华大学出版社, 2000

[3]三扬科技.Visual C++开发入行真功夫[M].北京:电子工业出版社,2009.4

[4]吴星,沈琳. MFC如何实现绘图功能[J]. 福建电脑, 2002,(12)

- 10 -

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

致谢

本次设计得到了指导老师金涛老师的悉心指导和关注,在此表示衷心的感谢。此外,与我一并完成课题研究的王泽龙同学也对我的设计提出了一些中肯的意见和建议,同样对他表示感谢。虽然设计中有些功能未完全达到预期效果,但如果没有他们的指导和建议,这次的课题设计是不可能顺利完成的,在此再一次表示感谢。

- 11 -

基于C++的简单Windows画图程序设计 00861003

附录一

部分源程序:

// Line.h: interface for the CLine class.

#if !defined(AFX_LINE_H__6D68BA0D_A19F_4C30_BB62_6D0F40293912__INCLUDED_) #define AFX_LINE_H__6D68BA0D_A19F_4C30_BB62_6D0F40293912__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#include "Shape.h"

//直线类定义

class CLine : public CShape

{

public:

CLine();

virtual ~CLine();

public:

virtual BOOL pick(POINT);

virtual void Draw(HDC);

virtual void DrawRect(HDC);

virtual void SaveClassName(ostream &ofstr)

{

ofstr<

}

};

#endif

// !defined(AFX_LINE_H__6D68BA0D_A19F_4C30_BB62_6D0F40293912__INCLUDED_)

- 12 -

内蒙古大学鄂尔多斯学院2008级自动化专业学年论文

// Line.cpp: implementation of the CLine class.

#include "stdafx.h"

#include "Line.h"

#include "WinApp.h"

extern CWinApp g_theApp;

// Construction/Destruction

CLine::CLine()

{strcpy(m_className,"CLine");}

CLine::~CLine()

{}

void CLine::Draw(HDC hdc)

{

HPEN hPen = ::CreatePen( fnPenStyle,nWidth,crColor);

HPEN hOldPen = (HPEN)::SelectObject(hdc,hPen);

CDraw::DrawLine(hdc,m_ptFirstPos,m_ptSecondPos);

::SelectObject(hdc,hOldPen);

::DeleteObject(hPen);

if(isPick == TRUE)

{DrawRect(hdc);}

}

BOOL CLine::pick(POINT pt)

{

int dblLength = CDraw::Distance(m_ptFirstPos,m_ptSecondPos);

int dblLength1 = CDraw::Distance(m_ptFirstPos,pt);

int dblLength2 = CDraw::Distance(m_ptSecondPos,pt);

if(dblLength1 + dblLength2 - dblLength < 3)

return TRUE;

else

return FALSE;

}

//绘制图形已被拾取的标记点

void CLine::DrawRect(HDC hdc)

{

Ellipse(hdc,m_ptFirstPos.x - Rect,m_ptFirstPos.y - Rect,\

m_ptFirstPos.x + Rect,m_ptFirstPos.y + Rect);

Ellipse(hdc,m_ptSecondPos.x - Rect,m_ptSecondPos.y - Rect,\

m_ptSecondPos.x + Rect,m_ptSecondPos.y + Rect);

}

- 13 -

简单画图程序的设计

面向对象程序设计 课程设计报告 设计题目:简单画图程序的设计 学院:信息工程学院 专业:计算机科学与技术(交通)学号: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();函数,在其中做了一些改动来实现。

计算机应用基础操作步骤(win7)

计算机应用基础操作步骤(win7) 必考知识点:桌面设置一题;文件夹与文件设置一或二题;附件一题;Internet一题 一、桌面设置 1、更改菜单大小为20; 答:右击桌面空白处/个性化/窗口颜色/项目选择“菜单”/大小更改为“20”/确定按钮退出; 2、设置在桌面上显示“计算机”(控制面板、回收站、网络等); 答:右击桌面空白处/个性化/更改桌面图标/桌面图标”计算机”打钩/确定按钮退出 3、设置桌面背景为“场景”中的第四个“img28.jgp”,并设置图片位置为“居中”; 答:右击桌面空白处/个性化/桌面背景/选中”场景”第四个打钩/图片位置选择”居中”/保存修改 4、设置屏幕保护程序“气泡”; 答:右击桌面空白处/个性化/屏幕保护程序/选中”气泡”/确定 5、设置播放Windows启动声音,设置声音方案为“热带大草原”; 答:右击桌面空白处/个性化/声音,跳出声音选项卡,对“播放Windows启动声音”打钩,声 音方案下拉选择“热带大草原”; 6、设置鼠标属性“启用指针阴影”; 答:右击桌面空白处/个性化/更改鼠标指针/启用指针阴影 7、将考生文件夹下的“Tools.exe”程序锁定到任务栏;将“Testing.exe”程序从任务栏 解锁; 答:在考生文件夹下,找到“Tools.exe”,选中并拖曳(按住左键不放)到任务栏上 再放开;右击任务栏上的“Testing.exe”按钮/将此程序从任务栏上解锁 二、文件夹或文件设置 1、设置文件夹选项,在标题栏显示完整路径,鼠标指向文件夹和桌面项时显示提示信息, 将已知文件类型的扩展名隐藏; 答:右击左下角“开始菜单”按钮,打开资源管理器;“工具”菜单/文件夹选项/查看选项卡/高级设置/选中”在标题栏显示完整路径”/”确定”按钮退出;单击“工具”菜单/文件夹选项/查看选项卡/”鼠标指向文件夹和桌面项是显示提示信息”打钩/”确定”按钮退出; 单击“工具”菜单/文件夹选项/查看选项卡/”隐藏已知文件类型的扩展名”打钩/”确定”按钮退出; 2、将考生文件夹下的DOWN文件夹设为高级共享,共享名为“下载”; 答:打开考生文件夹找到”DOWN”文件夹,右击/属性/共享选项卡/高级共享/”共享此文件”打钩,共享名设置成”下载”/按确定按钮退出 3、在考生文件夹下简历MP3文件夹; 答:找到考生文件夹/右击空白处/新建/文件夹/重命名为”mp3”; 4、查找考生文件夹下所有扩展名为mp3的文件,并将这些文件复制到上题简历的MP3 文件夹中;查找考生文件夹中以D和E开头的全部文件复制到MP3文件夹中; 答:在考生文件夹下的搜索框,输入“*.MP3”,将搜索到的mp3文件复制到mp3文件夹;在考生文件夹下的搜索框,输入“D*.*”,将搜索到的D字开头文件复制到mp3文件夹,在考生文件夹下的搜索框,输入“E*.*”,将搜索到的E字开头文件复制到mp3文件夹; 5、将考生文件夹下的USER文件夹中的文件MACRO。OLD设置成隐藏和存档属性; 答:右击”MACRO.OLD”文件/属性/常规选项卡/”隐藏”打钩/点击右边的”高级”按钮/文件属性/可以存档文件打钩 6、将C盘卷标更改为“Exam”; 答:右击C盘,重命名为“Exam”。

C入门练习题附绘图步骤

AutoCAD练习题 10.1 习题1:定数等分画圆弧 ◆练习说明: 1、此图中间为6等分,可使用定数等分命令分段; 2、连续曲线可采用多段线的圆弧命令快速绘制。 ◆操作提示: ⑴先画一条长为70的直线,然后在这条直线上6等分(如图所示) ⑵使用“多段线”命令,在“指定起点: 指定下一个点或[圆弧 (A)/半宽(H)/长度(L)/放弃(U)/宽度(W)]:”提示下输入a; 在“指定圆弧的端点或[角度(A)/圆心(CE)/方向(D)/半宽(H)/直线(L)/半径(R)/第二个点(S)/放弃(U)/宽度(W)]:”提示下输入d,开始绘制圆弧的方向(如图所示) ⑶重复以上的操作,完成圆弧的绘制(如图所示) ⑷选择“圆”命令,捕捉圆的中点,在“指定圆的半径或[直径 (D)]”提示下输入35,回车 ⑸删除辅助线,添加尺寸标注(如图所示) 10.2 习题2:环形阵列画圆弧 ◆练习说明: 1、此图外面由8段相同的圆弧构成; 2、使用环形阵列命令快速绘制。 ◆操作提示: ⑴先画一个直径为35的圆,然后向上复制(如图所示) ⑵使用“环形阵列”命令,阵列出8个圆(如图所示)

⑶使用“修剪”命令,修剪出一段圆弧后,并删除多余的圆(如图所示) ⑷再次使用“环形阵列”命令,阵列出8个圆弧,添加尺寸标注(如图所示) 10.3 习题3:使用极轴追踪绘制图形 ◆练习说明: 1、此图主要练习多边形的绘制; 2、在绘制中间的矩形时将会用到45°极轴追踪。 ◆操作提示: ⑴先对“极轴追踪”进行设置,鼠标右击状态栏上的“极轴”,点击“设置”按钮(如图所示) ⑵在“极轴追踪”对话框中勾选“启用极轴追踪(F10)”选项,在“增量角”改为45°(改成45°的意思是:凡是45°的倍数都能追踪得到)(如图所示) ⑶先画一个直径为70的圆,再画一个内接于圆的正6边形(如图所示) ⑷使用“对象捕捉”命令,绘制里面的直线,并用“极轴追踪”方式绘制一条连接于线上的直线(如图所示) ⑸使用“直线”命令连接其余直线(如图所示) ⑹捕捉大圆的圆心,在矩形里面绘制一个小圆,并添加尺寸标注

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

十款公认最实用的绘图软件评测 导读: 很多人以为只有专业从事艺术设计类或者画画工作的人才会用到绘图软件,其实不然。在我们的日常生活中,也有许多需要用到绘图软件的职业,工程师、建筑师、原画师、网页设计师、电工师傅等等,在他们的日常工作中都会用到不同类型的绘图软件。 如今市面上有很多种类的绘图软件,但是他们的侧重点都不一样,有的侧重画工业图,有的偏向于艺术设计,还有的偏向于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)

WINDOWS自带的“画图”程序教程

《“画图”程序使用说明》第 1 页 共 3 页 WINDOWS 自带的“画图”程序教程 注:本文由本人收集整理,难免有错误,欢迎指正. 使用“画图”程序可以创建或处理图片,例如.jpg 、.gif 或.bmp 文件。可以将“画图”图片粘贴到其他已有文档中,也可以将其用作桌面背景。还可以用“画图”程序查看和编辑扫描好的照片。下面说一下它的基本操作。 ★前景色和背景色:在窗口底部的颜料盒的左侧,有两个方框,前面的方框是前景色,后面的方框是背景色.用鼠标左键在颜料盒单击某一颜色可以改变前景色;用鼠标右键在颜料盒单击某一颜色可以改变背景色. ★如何绘制线条和图形: ①画直线:单击[工具箱]中的[直线]按钮(鼠标指向某个按钮时会有提示),在工具箱底部单击选择一种线宽(这个选择也将应用于其他图形),在画布上(以下省略)拖动指针,即可绘制线条。注意:默认的前景色和背景色显示在颜料盒的左侧。左键拖动可以用前景色绘画,右键拖动可以用背景色绘画。前景颜色可用于线条、图形边框和文本。背景色用于填充封闭图形和文本框的背景。拖动时如果按住 [Shift]键,则可以绘制精确的水平线、垂直线或45度斜线。在某条直线还没画完时,可随时按[Esc]键或按鼠标的另一个按钮进行取消,如果画完了,但没画好,可以单击[编辑]菜单上的[撤消]或按 [Ctrl]+Z 进行撤消,最多可以撤消三次。这些做法也适用于画其他某些图形,以下不再重复说明。 ②画任意线:单击[工具箱]中的[铅笔]按钮,左拖或右拖,绘制任意形状的线条。 ③画规则曲线:单击[工具箱]中的[曲线]按钮,在工具箱底部,单击选择一种线宽。左拖或右拖,绘制出一条直线。单击曲线的第一个弧所在的位置,然后拖动指针调整曲线形状。对第二个弧线重复该操作。注意:每条曲线至少有一段弧,但最多只能有两段弧。 ④画椭圆或圆:单击[工具箱]中的[椭圆]按钮,沿对角线方向左拖或右拖。如要画正圆,请在拖动指针时按住[SHIFT]键。注意:通过单击工具箱底部不同的填充模式可以画出不同的彩色填充效果的圆。第一个是空心圆,第二个是背景色填充,第三个是前景色填充。单击颜料盒中的颜色可以更改线条颜色,右击颜料盒中的颜色可以更改填充颜色。如要更改边宽,请单击工具箱中的直线或曲线工具,然后在工具箱下面的框中单击所需的宽度。这些画法也适用于画以下的封闭图形。 ⑤画矩形或正方形:单击[工具箱]中的[矩形]按钮,在工具箱底部的填充模式中选择一种模式,沿所需矩形的对角线方向左拖或右拖。如要画正方形,请在拖动指针时按住[SHIFT]键。注意:该框的边线宽度与所选的直线工具粗细相同。如要更改边宽,请单击工具箱中的直线或曲线工具,然后在工具箱下面的框中单击所需的宽度。 ⑥画圆角矩形:与矩形类似,不再重复。 ⑦画多边形:单击[工具箱]中的[多边形]按钮,在工具箱底部的填充模式中选择一种模式,拖动指针画出第一条边,之后在每个转角处单击鼠标,最后双击鼠标。如果仅使用45度和90度角,请在操作时按住[SHIFT]键。当选择了“背景色填充”模式时,可在画每个顶角时通过按左键或右键使填充色和线条颜色交换。另外,按小键盘的“+”或“—”可以改变轮廓线的精细、橡皮的大小等。在WINDOWS2000以上的系统中要按[Ctrl]+“+”或“—”才能改变。 ★在图片中放置文字:单击[工具箱]中的[文字]按钮,沿对角线方向左拖或右拖以得到放文字所需要的区域。在文字工具栏上,设置文字的字体、字号、字型及横竖排等属性。单击文字框内部,键入或粘贴文字,如果觉得文字区域的大小和位置不合适,可以移动或缩放。方法是将鼠标放在区域周围的黑色控点上,当鼠标变成双向箭头时拖动即可调整.单击颜色可更改文字的颜色。右击颜料盒的颜色

简单画图程序-课程设计

简单画图程序-课程设计 目录 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(),刷新,得到绘制图形。

mfc简单绘图程序

M F C 简 单 的 绘 图 程 序 ——王帅

目录 摘要 (2) 关键字 (2) 1 引言 (2) 设计目的 ............................................................................................................ 错误!未定义书签。 2 功能说明 (2) 2.1菜单栏....................................................................................................... 错误!未定义书签。 2.1.1图形 (3) 2.1.2画笔 (4) 2.1.3画硬币 (4) 2.2工具栏 (5) 2.3状态栏 (5) 3 功能的实现 (5) 3.1 视图设计 (5) 3.2 编辑资源 (6) 3.3 编程思路及各个函数的实现 (7) (1)思路 (7) (2)代码的实现 (7)

1.为基本形状创建一个基类 (8) 2.基本形状类的创建 (8) 2.1矩形类的创建及定义 (8) 2.2圆形类的创建及定义 (10) 2.3正五边形类的创建及定义 (11) 2.4正三角形类的创建及定义 (14) 2.5椭圆类的创建及定义 (16) 2.6正四边形类的创建及的定义 (17) 2.7正六边形类的创建及定义 (18) 2.8直线类的创建及定义 (19) 3.各基本形状类在CMyDraw2_0类中的调用和绘图的实现 (20) 3.1矩形类的调用与与绘图的实现 (20) 3.2圆形类的调用 (24) 3.3正三角形类的调用 (25) 3.4基本类型调用的剩余代码 (26) 4.画笔的使用、颜色及大小的调整 (29) 5.画硬币 (35) 6.工具栏中的自定义控件 (38) 7.状态栏中的显示 (39) 4程序功能的测试 (41) 5最后总结 (42)

简易画图板设计报告

设计报告: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();

计算机应用基础WIn7操作题

题目1 1.更改菜单大小为20。 2.设置在桌面上显示“计算机”。 参考:1. 右击桌面→单击“个性化”→单击窗口下侧“窗口颜色”→单击“高级外观设计”打开“窗口颜色和外观”对话框→在项目栏单击“菜 单”→大小设为20→单击“确定”。 2.返回个性化窗口→单击左侧“更改桌面图标”→勾选“计算机”,“确定”。题目2 1.将“Internet Explorer”图标锁定到任务栏。 2.将“ResTool.exe”程序从任务栏解锁。 参考:1. 右击桌面“Internet Explorer”图标→单击“将此任务锁定到任务栏”。 2. 右击任务栏上“ResTool.exe”图标→单击“将此任务从任务栏解锁“。题目3 1.将本机“D盘”的磁盘名更改为“WORK”。 2.设置Internet Explorer的Internet选项,让其在用户通过Internet Explorer上 网时自动保存用户在网页中的“表单”、“表单上的用户名和密码”域中输入的内容。 参考:1. 单击“考生文件夹”按钮→右击D盘→单击“重命名”,把磁盘名更改为“WORK”。

2.打开Internet Explorer→单击页面右上角的工具按钮→单击“Internet 选项”→单击“内容”→单击自动完成项的“设置”按钮→勾上“表单” 和“表单上的用户名和密码”两项→“确定”。 题目4 1.将考生文件夹下“教育软件.txt”文件设为只读。把“备忘”文件夹设为可 以存档。 2.将“测试”文件夹设为隐藏。 3.设置“文件夹选项”,将已知文件类型的扩展名隐藏。 参考:1. (1)单击“考生文件夹”按钮→右击“教育软件.txt”文件→单击“属性”命令→在“常规”项勾选“只读”,单击“高级”按钮,去掉“可以存档文件”的勾,“确定”。(2)右击“备忘”文件夹→单击“属性”命令→在“常规”项卡单击“高级”按钮,勾上“可以存档文件”,“确定”。 2. 右击“测试”文件夹→单击“属性”命令→在“常规”项卡勾上“隐 藏”→单击“高级”按钮→将“可以存档文件”项的勾取消→单击“确定”。 3. 单击菜单栏命令“工具”→单击“文件夹选项”→单击“查看”→在 高级设置下勾上“隐藏已知文件类型的扩展名”,“确定”。 题目5 1.设置浏览文件夹“在不同的窗口打开不同的文件夹”。 2.为windows/system32目录下的“mspaint.exe”创建快捷方式到考生文件夹 下,名称为“我的画板”。

简单的绘图程序实验报告

面向对象程序设计实训(基于MFC程序设计) 题目: 简单的绘图程序 院系专业: 姓名: 学号: 同组其他学生(学号):

简单绘图程序说明 1、功能分析 目前这个软件的主要功能有如下: 1、画直线:通过OnLine()函数实现。 2、画矩形:通过OnRectangle()函数实现。 3、画圆角矩形:通过OnRoundrect()函数实现。 4、画椭圆:通过OnEllipse()函数实现。 5、铅笔工具:可以画任意线条。通过直接在OnMouseMove(UINT nFlags, CPoint point)函数里面添加代码实现。 6、右键弹出菜单:可以在客户中点击鼠标右键,快速选择常用菜单。通过 OnContextMenu函数实现。 7、状态栏显示鼠标移动的坐标:在程序的右下角显示,通过调用setWidnowText 和GetParent()实现。 8、画图颜色选择:可以画任何颜色的线条,通过OnColor()函数实现。 9、线条类型及线宽的设置:可以将画出的线条设置成实线、虚线、点线、点划 线,双点划线,还可以设置线条的粗细,,通过实例这一功能立刻显示所选择线条的粗细及线型。通过新建CLineSettingDlg类,其中OnSelchangeLineStyle()函数实现线型的改变,OnChangeEditLineWidth()函数实现线宽的改变。再在CDrawView类中调用OnLineSetting()函数实现画笔的对话框, CLineSettingDlg类中的OnPaint()函数是实现示例功能的。 10、窗口的重绘时不擦除原来的内容:新建CShape类用来保存线条的颜色,线 宽,填充色等属性,在窗口大小发生变化时有OnDraw(CDC* pDC)函数进行重绘工作,重绘中调用了各个绘图函数的Draw(CDC *pDC)函数。 11、所绘图形的保存于读取,通过Serialize(CArchive &ar)函数进行序列化操作, 将所绘图形的信息通过文件的形式保存起来。

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

《认识画图软件》教学设计 知识与技能: 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)=?

windows画图工具使用

电脑绘画班WINDOWS画图详细教程 目录 一.如何使用画图工具 二.《画图》工具系列-妙用曲线工具 三. 《画图》工具系列-巧用圆形工具 四. 《画图》工具系列妙用文字工具 五. 用“画图”进行屏幕拷贝 六. “画图”程序的放大修改功能 七. “画图”中的工具与颜色配置 八. 灵活使用编辑功能 九. Windows画图程序操作技巧 十. Windows画图程序操作技巧 十一. 用画图程序检测LCD的暗点

一.如何使用画图工具 想在电脑上画画吗?很简单,Windows 已经给你设计了一个简洁好用的画图工具,它在开始菜单的程序项里的附件中,名字就叫做“画图”。 启动它后,屏幕右边的这一大块白色就是你的画布了。左边是工具箱,下面是颜色板。 现在的画布已经超过了屏幕的可显示范围,如果你觉得它太大了,那么可以用鼠标拖曳角落的小方块,就可以改变大小了。 首先在工具箱中选中铅笔,然后在画布上拖曳鼠标,就可以画出线条了,还可以在颜色板上选择其它颜色画图,鼠标左键选择的是前景色,右键选择的是背景色,在画图的时候,左键拖曳画出的就是前景色,右键画的是背景色。 选择刷子工具,它不像铅笔只有一种粗细,而是可以选择笔尖的大小和形状,在这里单击任意一种笔尖,画出的线条就和原来不一样了。

图画错了就需要修改,这时可以使用橡皮工具。橡皮工具选定后,可以用左键或右键进行擦除,这两种擦除方法适用于不同的情况。左键擦除是把画面上的图像擦除,并用背景色填充经过的区域。试验一下就知道了,我们先用蓝色画上一些线条,再用红色画一些,然后选择橡皮,让前景色是黑色,背景色是白色,然后在线条上用左键拖曳,可以看见经过的区域变成了白色。现在把背景色变成绿色,再用左键擦除,可以看到擦过的区域变成绿色了。 现在我们看看右键擦除:将前景色变成蓝色,背景色还是绿色,在画面的蓝色线条和红色线条上用鼠标右键拖曳,可以看见蓝色的线条被替换成了绿色,而红色线条没有变化。这表示,右键擦除可以只擦除指定的颜色--就是所选定的前景色,而对其它的颜色没有影响。这就是橡皮的分色擦除功能。 再来看看其它画图工具。 是“用颜料填充”,就是把一个封闭区域内都填上颜色。 是喷枪,它画出的是一些烟雾状的细点,可以用来画云或烟等。 是文字工具,在画面上拖曳出写字的范围,就可以输入文字了,而且还可以选择字体和字号。 是直线工具,用鼠标拖曳可以画出直线。 是曲线工具,它的用法是先拖曳画出一条线段,然后再在线段上拖曳,可以把线段上从拖曳的起点向一个方向弯曲,然后再拖曳另一处,可以反向弯曲,两次弯曲后曲线就确定了。 是矩形工具,是多边形工具,是椭圆工具,是圆角矩形,多边形工具的用法是先拖曳一条线段,然后就可以在画面任意处单击,画笔会自动将单击点连接

计算机绘图C、

第一节 , 1,如何快速定义屏幕上出现(或取消)哪些工具栏? 右击任意一个已经打开的工具栏,在弹出的快捷菜单中选取工具栏的名称即可。工具栏名称前有“”符号,则表示该工具栏已经显示在工作界面中了,点击其名 称即可关闭。 2,如何在现有的工具栏中添加图标按钮? 选择主菜单“视图”中的“工具栏”选项或主菜单“工具”中的“自定义”选项;或把鼠标放在任意一个已经打开的工具栏上右击选取快捷菜单中最下方的“自定义”选项,均可打开“自定义用户界面”对话框,在“命令列表”栏中选取所需按钮所在的命令名称,再在出现的命令中用鼠标拖放到相应的工具栏中即可。 3.如何改变绘图窗口的背景色? 选取主菜单“工具”→“选项”命令或在绘图窗口内右击,在弹出的快捷菜单中选取“选项”命令,系统弹出“选项”对话框,在“显示”选项卡中点击按钮,就可在弹出的“图形窗口颜色”对话框中的“颜色”下拉列表框中为绘图窗口指定新的背景色。 4.分清以下点的坐标含义:(20,-10)、(@20,-10)、(20<60)、(@20<60) (20,-10)为绝对直角坐标,距原点X轴正向20,Y轴负向10。 (@20,-10)为相对直角坐标,距前一点X轴正向20,Y轴负向10。 (20<60)为绝对极坐标,与原点的距离为20,并与X轴正向成60度。 (@20<60)为相对极坐标,与前一点的距离为20,并与X轴正向成60度。 5.重复当前AutoCAD运行命令的操作应该按下哪个键? 回车键或空格键。 6.如何取消上次命令? 单击“标准”工具栏中的“放弃”键,或在命令窗口输入“U”,即Undo命令。 7.在命令执行过程中可以随时按哪个键退出或取消该命令? Esc键。 8.简述对象捕捉功能的作用。 绘制或编辑图形时,使用对象捕捉功能可以在已有图素上用指定的捕捉方式捕捉需要的点,如直线的端点、中点、圆的圆心和切点等,这样就可以精确快速地绘图。 9.“对象捕捉方式”中的“最近点”的含义是什么? 捕捉直线、圆、圆弧等对象上距光标最近的点。 10.在用窗口选择对象时,“W(Window)”和“C(Cross)”选项有什么不同? “W(Window)”选项将该窗口内的多个图素一次选中;“C(Cros s)”选项 则所有穿越或包含在窗口内的图素均被选中。 11.如何在已有的选择集里移除或添加对象?

相关主题
文本预览
相关文档 最新文档