当前位置:文档之家› 利用按钮自绘制作图形按钮

利用按钮自绘制作图形按钮

利用按钮自绘制作图形按钮
利用按钮自绘制作图形按钮

利用按钮自绘制作图形按钮- VC

2007-06-29 09:02:12| 分类: vc++,c++,c | 标签:按钮vc++ 编程 |字号大中小订阅

利用按钮自绘制作图形按钮

我们要举的例子是利用一张包含按钮的三种状态(鼠标移动,鼠标离开,鼠标单击)的位图来绘制按钮,因为三种状态

在一张位图上,所以每种状态的图片高度都相等,而宽度是位图总长度的1/3。

1.首先创建一个CBitmapButton的子类CHoverButton,并创建四个类成员变量:

//指示鼠标是否在按钮上面

BOOL m_bHover;

//按钮是否跟踪到鼠标

BOOL m_bTracking;

//保存图片的变量

CBitmap mybitmap;

//按钮尺寸

CSize m_ButtonSize;

2.在类的构造函数中,初始化和鼠标相关的变量

CHoverButton::CHoverButton()

{

m_bHover = FALSE;

m_bTracking = FALSE;

}

3.创建一个载入位图的成员函数,参数为位图的资源标识符。在按钮自绘之前,必须有相应的位图已经载入。

BOOL LoadBitmap(UINT bitmapid);

其实现为:

BOOL CHoverButton::LoadBitmap(UINT bitmapid)

{

//载入图片

mybitmap.Attach(::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(bitmapid), IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS));

BITMAP bitmapbits;

//获取位图信息并存入bitmapbits结构中

mybitmap.GetBitmap(&bitmapbits);

//取位图相应的高度和1/3宽度。

SetWindowPos( NULL, 0,0, m_ButtonSize.cx,m_ButtonSize.cy,SWP_NOMOVE

|SWP_NOOWNERZORDER );

return TRUE;

}

4.重载按钮的虚拟函数DrawItem()成员函数

当一个自绘按钮的外观发生变化时由框架调用.其函数原型为:

virtual void DrawItem(

LPDRAWITEMSTRUCT lpDrawItemStruct

);

DRAWITEMSTRUCT结构包含被绘制项目的信息。

下面是该函数的实现

void CHoverButton:DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)

{

//获取保存在DRAWITEMSTRUCT结构中且在绘制按钮时必须使用的设备上下文

CDC* mydc=CDC::FromHandle(lpDrawItemStruct->hDC);

//创建兼容的设备上下文

CDC* pMemDC = new CDC;

pMemDC -> CreateCompatibleDC(mydc);

//保存旧对象

CBitmap * pOldBitmap;

pOldBitmap = pMemDC -> SelectObject(&mybitmap);

CPoint point(0,0);

//判断按钮是否处于选择状态,如果是则绘制选择状态的按钮位图,在我们提供的位图中,选中状态的按钮图片是第二个

if(lpDrawItemStruct->itemState & ODS_SELECTED)

{

mydc->BitBlt(0,0,m_ButtonSize.cx,m_ButtonSize.cy,pMemDC,m_ButtonSize.cx,0,SRCCOPY); }

else

{ //判断鼠标是否离开还是在按钮上面,以便绘制相应的位图

if(m_bHover)

{

mydc->BitBlt(0,0,m_ButtonSize.cx,m_ButtonSize.cy,pMemDC,m_ButtonSize.cx*2,0,SRCCOPY );

}else

{

mydc->BitBlt(0,0,m_ButtonSize.cx,m_ButtonSize.cy,pMemDC,0,0,SRCCOPY); }

}

// clean up

pMemDC -> SelectObject(pOldBitmap);

delete pMemDC;

}

tme.cbSize = sizeof(tme);

tme.hwndTrack = m_hWnd;

tme.dwFlags = TME_LEAVE|TME_HOVER;

tme.dwHoverTime = 1;

m_bTracking = _TrackMouseEvent(&tme);

}

CBitmapButton::OnMouseMove(nFlags, point);

}

LRESULT CHoverButton::OnMouseLeave(WPARAM wparam, LPARAM lparam)

{

m_bTracking = FALSE;

m_bHover=FALSE;

//重画按钮

Invalidate(TRUE);

return 0;

}

LRESULT CHoverButton::OnMouseHover(WPARAM wparam, LPARAM lparam)

{

m_bHover=TRUE;

Invalidate(TRUE);

return 0;

}

6.我们把这个按钮放入对话框进行测试,首先在基于对话框的应用程序中加入一个按钮,设置其Owner Draw

的属性为true。然后添加一个按钮控件变量,然后用CHoverButton类代替CButton类CHoverButton m_HoverButton;

最后在对话框的OnInitDialog()处理函数中加入下面一行代码来为按钮的自绘作准备:

m_HoverButton.LoadBitmap(IDB_BITMAP1);

自绘按钮的实现

如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一点来说,主要是利用控件的自绘功能(Owner Draw)实现的。本篇将和各位一起定义一个XP风格的CXPButton 按钮类,目的不在于介绍CXPButton类的使用技巧,而在于向各位阐述实现自绘按钮的方法。当然如果你觉得CXPButton有用的话,也可以把它的源文件保存下来,直接加入到自己的项目中。

本篇要点:

一、准备工作

二、实现原理及难点

三、按钮类的使用

四、小结与提示

五、附录

一、准备工作

在开始编码之前,首先应该确定好,更准确的说应该是设计好按钮在各种状态下的外观。按钮控件的几中基本状态包括:

Normal状态,就是按钮一开始显示时的样子。

Over状态,鼠标指针移动到按钮上面时按钮显示的样子。

Down状态,按下按钮时显示的样子。

Focus状态,按钮按下后松开的样子,例如标准按钮按下松开之后会看到按钮内部有一个虚线框。

Disable状态,当然就是按钮被设置成无效的时候的样子啦。

我参考了一下WindowsXP中普通按钮的实际样子,设计出XP按钮各种状态的外观,如下图所示:

至于Down状态主要是在Over状态的基础上将文字往右下的方向稍微平移,以实现下压的效果。

二、实现原理及难点

下面我们开始类的创建,在Workspace的ClassView页中右击列表树的根结点,选择New Class…

在弹出窗口中进行派生类的定义,如下图所示,注意,你需要填写的只有Name和Base class两项,其余的选项保持默认值就可以了。

按OK按钮退出之后,我们可以在ClassView里面看到新创建的类的名字。接下来我们可以为CXPButton类添加各种成员变量。因为自绘控件说穿了就是画图,所以在成员变量中可以看到各种与画图有关的数据类型,一般来说成员变量会在类的构造函数中初始化,在类的析构函数中销毁。详细代码请参见本篇附带的源程序。

下面简要叙述一下按钮的实现原理:

1. 在控件初始化时为按钮添加Owner Draw的属性。这是因为在MFC中,要想激活控件的自绘功能,要求该控件的属性中必须包含属性值BS_OWNERDRAW,这一步我们可以通过类向导为CXPButton类添加PreSubclassWindow()函数,在该函数中完成属性值的设置。当激活控件的自绘功能之后,每次控件状态改变的时候都会运行函数DrawItem(),该函数的作用就是绘制控件在各种状态下的外观。

2. 添加WM_MOUSELEAVE消息函数,当鼠标指针离开按钮时,触发该消息函数,我们在函数中添加代码,通知DrawItem函数鼠标指针已经离开了,让按钮重绘。

3. 添加WM_MOUSEHOVER消息函数,当鼠标指针位于按钮之上时,触发该消息函数,我们在函数重添加代码,通知

DrawItem函数鼠标指针现在正在按钮的上面,让按钮重绘。

4. 添加DrawItem函数。在DrawItem中根据按钮当前的状态绘制按钮的外观。可以说自绘控件的大部分功能都是在这个函数中实现的。DrawItem函数包含了一个LPDRAWITEMSTRUCT的指针,本篇会在稍后予以讲解。

了解了基本的设计思路之后,剩下就看我们怎么去实现了。我本人觉得这里有两个难点,首先是WM_MOUSELEAVE和WM_MOUSEHOVER不是标准的Windows消息函数,它们不能通过类向导来添加,所有的添加工作都需要通过手工输入代码来完成。另一个难点是DrawItem中的LPDRAWITEMSTRUCT指针,它指向了一个DRAWITEMSTRUCT的结构,这个结构中包含了控件的各种细节,为我们提供了实现自绘功能的必要信息。

难点一:事实上WM_MOUSELEAVE和WM_MOUSEHOVER两个Windows消息是通过WM_MOUSEMOVE消息触发的,而WM_MOUSEMOVE是标准的Windows消息,因此我们可以通过类向导来为CXPButton类添加WM_MOUSEMOVE消息函数。

函数的代码见如下,这段代码非常有用,在其它的自绘控件中,如果想触发WM_MOUSELEAVE和WM_MOUSEHOVER消息,也是使用类似的方法实现的。

09. tme.dwFlags = TME_LEAVE | TME_HOVER;

10. tme.dwHoverTime = 1;

11. m_bTracking = _TrackMouseEvent(&tme);

12. }

13. CButton::OnMouseMove(nFlags, point);

14.}

我们接着添加WM_MOUSELEAVE和WM_MOUSEHOVER消息消息函数。在CXPButton类的声明中(即在XPButton.h文件中)找到afx_msg void OnMouseMove(UINT nFlags, CPoint point);的函数声明,紧接其下输入

然后在XPButton.cpp文件中找到ON_WM_MOUSEMOVE(),紧接其后输入

当然最后还有函数的实现了,详细代码可见本篇提供的源程序,这里就不再重复了。

难点二:

下面我们看看DRAWITEMSTRUCE结构为我们提供了哪些有用信息呢?

DRAWITEMSTRUCT结构的定义如下:

框中某一项的值

11.} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;

其实不仅是按钮控件,其它控件,如ComboBox、ListBox、StaticText等都是通过DRAWITEMSTRUCT来记录控件信息的。关于这个结构的详细文档可参考本篇的附录。

也许你早已看到许多自绘按钮的例子,实际上自绘按钮本身的函数结构都是差不多的,它们显示效果的区别主要取决于代码编写者对GDI作图函数的运用与掌握程度。有兴趣的朋友可以研究一下CXPButton类中DrawItem函数的数据结构,其实只要修改一下其中GDI绘图函数的部分代码,马上又能做出另一个自绘按钮控件了。

三、按钮类的使用

下面演示CXPButton类的使用。往对话框中添加一个按钮控件,假设它的ID值为IDC_BUTTON1。进入类向导(Class Wizard)的Member Variables属性页,为IDC_BUTTON1添加一个变量m_btnNormal。确定退出后再进行编译,就可以看到重新定义过XP风格按钮了。

如果你是之间把CXPButton的源文件引入自己的工程中的,那么在上图的Variable type中是看不到CXPButton选项的。但是可以通过以下方法加入:

1. 首先保存工程后退出。

2. 在工程的目录下找到一个后缀名为.clw的文件,将其删除。但是为了以防万一还是建议你实现备份一下。

3. 重新打开工程,进入类向导,此时会看到一下一个弹出对话框,我们选择“是(Yes)”。

4. 再选择“Add All”,这样我们就可以在类向导中使用CXPButton的变量类型了。

四、小结与提示

对于按钮来说,当按钮上面任何可见的部分发生变换的时候,都要调用DrawItem函数进行重绘。自绘制按钮必须设定BS_OWNERDRAW的属性,设置的代码在PreSubclassWindows 函数中完成。另外为了防止系统字体设置的变化影响控件的表达效果,还可以在该函数中为

控件指定某种固定的字体。但是要注意的是这个

让我们来回顾一下实现自绘按钮的基本步骤:

a. 确定设计方案;

b. 初始化,但是记得要在函数退出前恢复先前的GDI对象,并释放所占领的资源;

c. 添加相应消息函数;

d. 添加绘图函数DrawItem,在DrawItem中作图的顺序一般是先画外边框,再上底色,接着写文字,最后是画内边框。不过有些人也喜欢把边框放到最后画,这问题不大。

五、附录

DRAWITEMSTRUCT结构文档(根据Msdn翻译)

DRAWITEMSTRUCT

DRAWITEMSTRUCT 为需要自绘的控件或者菜单项提供了必要的信息。在需要绘制的控件或者菜单项对应的WM_DRAWITEM消息函数中得到一个指向该结构的指针。 DRAWITEMSTRUCT 结构的定义如下:

结构成员:

CtlType

指定了控件的类型,其取值如下表所示。

取值

描述

ODT_BUTTON

按钮控件

ODT_COMBOBOX

组合框控件

ODT_LISTBOX

列表框控件

ODT_LISTVIEW

列表视图控件

ODT_MENU

菜单项

ODT_STATIC

静态文本控件

ODT_TAB

Tab控件

CtlID

指定了自绘控件的ID值,而对于菜单项则不需要使用该成员

itemID

表示菜单项ID,也可以表示列表框或者组合框中某项的索引值。对于一个空的列表框或组合框,该成员的值为–1。这时应用程序只绘制焦点矩形(该矩形的坐标由rcItem 成员给出)虽然此时控件中没有需要显示的项,但是绘制焦点矩形还是很有必要的,因为这样做能够提示用户该控件是否具有输入焦点。当然也可以设置itemAction 成员为合适值,使得无需绘制焦点。

itemAction

指定绘制行为,其取值可以为下表中所示值的一个或者多个的联合。

取值

描述

ODA_DRAWENTIRE

当整个控件都需要被绘制时,设置该值

ODA_FOCUS

如果控件需要在获得或失去焦点时被绘制,则设置该值。此时应该检查itemState成员,以确定控件是否具有输入焦点。

ODA_SELECT

如果控件需要在选中状态改变时被绘制,则设置该值。此时应该检查itemState 成员,以确定控件是否处于选中状态。

itemState

指定了当前绘制操作完成后,所绘项的可见状态。例如,如果菜单项应该被灰色显示,则可以指定ODS_GRAYED状态标志。其取值可以为下表中所示值的一个或者多个的联合。

取值

描述

ODS_CHECKED

如果菜单项将被选中,则可设置该值。该值只对菜单项有用。

ODS_COMBOBOXEDIT

在自绘组合框控件中只绘制选择区域。

ODS_DEFAULT

默认值。

ODS_DISABLED

如果控件将被禁止,则设置该值。

ODS_FOCUS

如果控件需要输入焦点,则设置该值。

ODS_GRAYED

如果控件需要被灰色显示,则设置该值。该值只在绘制菜单时使用。

ODS_HOTLIGHT

Windows 98/Me, Windows 2000/XP: 如果鼠标指针位于控件之上,则设置该值,这时控件会显示高亮颜色。

ODS_INACTIVE

Windows 98/Me, Windows 2000/XP: 表示没有激活的菜单项。

ODS_NOACCEL

Windows 2000/XP: 控件是否有快速键盘。

ODS_NOFOCUSRECT

Windows 2000/XP: 不绘制捕获焦点的效果。

ODS_SELECTED

选中的菜单项。

hwndItem

指定了组合框、列表框和按钮等自绘控件的窗口句柄;如果自绘的对象时菜单项,则表示包含该菜单项的菜单句柄。

hDC

指定了绘制操作所使用的设备环境。

rcItem

指定了将被绘制的矩形区域。这个矩形区域就是上面hDC的作用范围。系统会自动裁剪组合框、列表框或按钮等控件的自绘制区域以外的部分。也就是说rcItem中的坐标点(0,0)指的就是控件的左上角。但是系统不裁剪菜单项,所以在绘制菜单项的时候,必须先通过一定的换算得到该菜单项的位置,以保证绘制操作在我们希望的区域中进行itemData

对于菜单项,该成员的取值可以是由

CMenu::AppendMenu、

CMenu::InsertMenu或者

CMenu::ModifyMenu

等函数传递给菜单的值。

对于列表框或这组合框,该成员的值可以为由

ComboBox::AddString、

CComboBox::InsertString、

CListBox::AddString或者

CListBox::InsertString

等传递给控件的值。

如果ctlType 的取值是ODT_BUTTON或者ODT_STATIC, itemData的取值为0。

(注:素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注!)

小学数学——简单几何图形

简单几何图形 本专题共设计了七个课时(变动范围为两个课时),内容包括:直线、射线、线段和角;长方形、正方形的初步认识和垂线、平行线;长、正方形的周长和面积;平行四边形、三角形和梯形;圆。主要针对三年级级以上学生开设,也可适当选择一二课时的内容向一二年级的学生解说,而对于高年级学生,因对一二课时的内容了解较多,可视情况适当删减其中的内容,而对于简单几何图形,这几个课时重在培养学生的动手能力、自学探索能力及锻炼团队合作精神,希望大家可以在快乐中学到知识。另外,中间贯穿了“转化”的重要数学思想,涉及一些课外的知识,希望可以开拓学生的视野。 第一课时 一、直线、射线和线段和角: 1、直线、射线和线段概念及异同点(直线:过两点有且只有一条直线(两点确定一条直线。射线:直线上的一点,可向一方无限延伸。线段:直线上两点间的一段。) 三线表示: A a B 线段有两种表示方法: 线段:(1)用线段的两个端点的大写字母表示:线段Array AB或线段BA;(2)用一个小写字母表示:线段a; 注:线段AB 和线段BA表示同一条线段。 射线:一条射线可用它的端点和射线上另一点来表示:射线OP 注:(1)表示端点的字母必须写在另一个字母的前面; (2)同一条射线可以有不同的表示方法:射线OP或射线OC 直线:直线有两种表示方法: (1)用直线上的两个大写字母表示:直线MN或直线NM; (2)用一个小写字母表示:直线b; 注:直线MN或直线NM表示同一条直线。 初显身手: 2、找出图中的线段,射线和直线,并用所标的字母表示。 A B C

。。。 解: 线段:线段AB,线段AC,线段BC 射线:射线AB(或射线AC),射线CB(射线CA),射线BA,射线BC 直线:直线AB(或直线AC,或直线BC) 小试牛刀: B 1.如图,从A地到B地有3条路,走哪条路相对近一些? 3 答:走第3条路相对近些。 2、从A地到B地能否修一条最短的路?如果能,你认为 2 应该怎么修,说说你的理由。 A 1 答:连接图中A,B两地的线段为最短的路。 3、由上述两小题的思考,你认为在两点之间的所有连线中,什么样是最短的? 答:两点之间的所有连线2中,线段最短。两点之间线段的长度,叫做这两点之间的距离。 2、认识角 (1)引:游戏:十秒钟内过一点可以画几条射线?试画,讨论 结论:过一点可以画无数条射线,这一点称为公共端点。 观察:找一找生活中的角,比一比 (2)概念:从一点引出两条射线所组成的图形是角 (3)通过操作,引导学生找出角的大小和什么有关。 学生用准备的两个硬纸条做成的活动角,按住一个纸条不动,转动另一个纸条,可以出现各种形状、大小不同的角 问题:角的大小和什么有关?(跟长度无关) (4)比较角的大小(三角板演示):先使两个角的顶点和一边重合,再看另一边,哪个角的边在外面,哪个角就大,如果另一条边也重合,说明这两个角相等。 (5)角的分类及基本含义:直角、钝角、锐角、平角、周角 2、直线、射线和线段的画法

第二单元 简单图形绘绘制

第二单元简单图形绘绘制 第1题 【操作要求】 1.建立新图形文件:建立新图形文件,绘图区域为:100×100。2.绘图: 绘制一个长为60,宽为30的矩形;在矩形对角线交点处绘制 一个半径为10的圆。 在矩形下边线左右各1/8处绘制圆的切线;再绘制一个圆的同 心圆,半径为5,完成后的图形参见图2-1。 3.保存:将完成的图形以KSCAD2-1.DWG为文件名保存在考生文件夹中。 第2题 【操作要求】 1.建立新图形文件:建立新图形文件,绘图区域为:240×200。2.绘图: 绘制一个100×25的矩形。 在矩形中绘制一个样条曲线,样条曲线顶点间距相等,左端 点切线与垂直方向的夹角为45o,右端点切线与垂直方向的夹 角为135o,完成后的图形参见图2-2。 3.保存:将完成的图形以KSCAD2-2.DWG为文件名保存在考生文件夹中。 第3题

【操作要求】 1.建立新图形文件:建立新图形文件,绘图区域为:240×200。2.绘图: 绘制一个两轴长分别为100及60的椭圆。 椭圆中绘制一个三角形,三角形三个顶点分别为:椭圆上四 分点,椭圆左下四分之一椭圆弧的中点以及椭圆右四分之一 椭圆弧的中点;绘制三角形的内切圆。完成后的图形参见图 2-3。 3.保存:将完成的图形以KSCAD2-3.DWG为文件名保存在考生文件夹中。 第4题 【操作要求】 1.建立新图形文件:建立新图形文件,绘图区域为:42 0×297。2.绘图: 绘制一个宽度为10,外圆直径为100的圆环。 在圆中绘制箭头,箭头尾部宽为10,箭头起始宽度(圆环中 心处)为20;箭头的头尾与圆环的四分点重合。绘制一个直 径为50的同心圆,完成后的图形参见图2-4。 3.保存:将完成的图形以KSCAD2-4.DWG为文件名保存在考生文件夹中。

CAD试题汇编第二单元习题操作步骤(精)

第二单元简单图形绘制 2.1 第1题 操作步骤: 1.绘图区域设置:格式→图形界限→指定左下角点(直接回车)→指定右上角点【输(100, 100)】→回车。 单击栅格。按住鼠标中间滚轮把栅格拖到屏幕中间。 2.绘图: (1)单击→用鼠标在绘图区域靠左下处单击指定一点→输入右上角坐标(60,30)→回车; (2)单击→连接矩形的两个对角点→单击→在矩形对角线交点处捕捉圆心→输入圆半径10→回车。删掉两条对角线; (3)单击→选择矩形→回车; (4)绘图→点→定数等分→选择矩形的下边线→输入等分数目8→回车; (5)格式→点样式→选择点的一种样式→单击确定按钮; (6)单击→捕捉矩形左下1/8等分点→捕捉圆上切点(切点在对象捕捉处右击点设置,选择)→回车; 单击→捕捉矩形右下1/8等分点→捕捉圆上切点→回车; (7)单击→捕捉大圆圆心→输入圆半径5→回车; (8)删除7个等分点。 3. 保存。 2.2 第2题 操作步骤: 1.绘图区域设置:格式→图形界限→指定左下角点(直接回车)→指定右上角点【输(240, 200)】→回车。 单击栅格。按住鼠标中间滚轮把栅格拖到屏幕中间。 2.绘图: (1)单击→用鼠标在绘图区域靠左下处单击指定一点→输入右上角坐标(100,25)→回车;

(2)单击→选择矩形→回车; (3)绘图→点→定数等分→选择矩形的上边线→输入等分数目12→回车; 绘图→点→定数等分→选择矩形的下边线→输入等分数目12→回车; (4)格式→点样式→选择点的一种样式→单击确定按钮; (5)单击→捕捉矩形左边线中点→捕捉矩形上下等分点(在对象捕捉里选择节点)→捕捉矩形右边线中点→回车→光标移到右击点设置,增量角选择45°→单击 确定按钮; (6)光标移动到左斜向下45°(出现一条虚的极轴)→回车; 光标移动到右斜向下45°(出现一条虚的极轴)→回车; (7)删除上下边的等分点。 3. 保存。 2.3 第3题 操作步骤: 1.绘图区域设置:格式→图形界限→指定左下角点(直接回车)→指定右上角点【输(240, 200)】→回车。 单击栅格。按住鼠标中间滚轮把栅格拖到屏幕中间。 2.绘图: (1)单击→指定椭圆水平轴的左端点→光标水平放置,输入100→输入椭圆另一轴的半轴长30; (2)单击→捕捉椭圆水平轴的两个端点→捕捉椭圆上方的象限点→捕捉椭圆左端点→捕捉椭圆下方象限点; 单击→捕捉椭圆水平轴的两个端点→捕捉椭圆上方的象限点→捕捉椭圆下方象 限点捕捉→捕捉椭圆右端点; (3)单击→捕捉椭圆上方的象限点→捕捉左边椭圆弧中心→捕捉右边椭圆弧中心→ 输入C回车闭合; (4)绘图→圆→相切,相切,相切→捕捉三角形三条边的切点。 3. 保存。

制作一个图形编辑系统

目录 一、题目内容及要求 (5) 二、设计思路 (5) 三、具体实现 (8) 四、运行调试和分析讨论 (15) 五、设计体会和小结 (17) 六、致谢 (18) 七、参考文献 (18)

一、题目内容及要求 制作一个友好的图形用户界面,操作简单易行的图形编辑系统,其具体要求如下:(1)能用拖橡皮筋的手法绘制各类图形(直线、椭圆、矩形、文字) (2)支持画笔颜色、文字大小设置; (3)能将画面中的所有图形存储到文件中; (4)能从文件读取图形进行增补; (5)采用对话框获取图形文件名。 (6)也可以思考一先如何利用鼠标选取图形,删除 二、设计思路 1、功能规划 将主界面设置为当前Windows风格的,然后在一个Container里设置菜单区域,常用功能区域,绘图区域和状态栏。 菜单区域设置“文件”(新建,保存,打开,退出)用来对文件的不同操作,“更多形状”(画实心矩形,实心圆,实心椭圆)用来扩充绘画功能,“颜色”用来通过调用系统颜色面板选择线条颜色,“帮助”用来添加一些附加信息,画板,作者的介绍等; 常用功能区域里面添加了铅笔,直线,矩形,椭圆,圆,橡皮擦,粗细,文字等常用功能按钮用来完成不同的操作,还安置了两个复选框(粗体,斜体)来设置图形式文字输入的状态。排在North位置 绘图区域用来实现操作的操作显示平台,排在Center位置 状态栏主要用来纪录鼠标的坐标改变,放在South位置

2、工作原理图 3、打开已保存的图形文件

4、保存绘制的图形 三、具体实现 1、用户自定义类 类名:Huaban 作用:生成主界面 继承的父类:JFrame 主要的类成员:

人教部编版语文三年级下册第二单元《习作:看图画,写一写》教学设计

《看图画,写一写》教学设计 一、教材分析 本单元安排的习作是一篇看图作文“看图画,写一写”。语文学习要素中明确提出了习作要求“把图画上的内容写清楚”。通过这次习作可以进一步提高学生的观察和表达能力。 统编教材中在第一学段里安排过看图讲故事和看图写话的练习,要求学生观察画面,看懂图意并发挥想象,把图画的内容写下来。通过三年级上册第五单元习作单元的学习,学生已经了解了“按照一定顺序观察”的方法,并能把看到的事物写清楚。在此基础上,本次习作要求学生根据图画上的内容展开想象,把自己看到的、想到的写清楚。 教材的第一部分主要是明确习作任务。首先呈现了一幅“放风筝”的春景图,图画中人物的动作、神态生动活泼,画面简洁明快,富有生活气息。接下来教材提出本次习作的任务:写一段话,把图画上的内容介绍给大家。教材第二部分对如何观察图画和怎么写进行了指导。写之前,指出两个观察图画的要点:先整体观察图画,大致了解图意,然后在观察的基础上展开想象,想一想人物会说些什么,最后把看到的和想到的都要清楚地写下来。教材第三部分,对写后的修改和交流提出具体的建议。 二、教学目标:1.能按一定的顺序观察图画,展开想象。 2.能把自己看到的、想到的写清楚。 3.能与同学分享习作,并根据同学的意见修改习作。 三、教学重点:把看到的、想到的内容写清楚,与同学分享习作并评改。 四、课时安排:2课时 五、课前准备:利用课余时间放风筝,完成自主预习单。 第一课时习作指导课教学设计

课时目标:1.能按一定的顺序观察图画,展开想象。 2.能把自己看到的、想到的写清楚。 教学重难点:有序观察画面,把自己看到的、想到的内容写清楚。 教学过程: 一、畅聊春天趣事,导入新课。 1.同学们,春天已经到了,到处是花红柳绿、莺歌燕舞,让人感觉舒服极了!小朋友们,春天里你最喜欢做什么呀? 2.瞧,这个小男孩也赶紧脱掉棉袄、冲出家门,来到了广阔的大自然里活动。同学们猜猜看,他在干什么呢?说说你是怎么猜出来的?(出示中间男孩图片) 二、回忆观察方法,整体有序观察。 1.爱观察的小朋友一定从小男孩的动作就看出来来,他正在放风筝。看,画面上放风筝的人可不止他一个呢!今天的习作我们就来“看图画,写一写”,请你把这幅图画上的内容介绍给大家。 请同学们快速阅读书中要求。看图画写内容,我们首先要仔细观察图画,然后再试着把看到的,想到的写下来。 2.先回忆一下,你平时是怎样来观察一幅图画的?(回忆观察方法和顺序)这幅图画又可以按照什么顺序来观察?(天空——地面,近处——远处)请同学们按照一定的顺序观察图画后,抓住“谁”“在干什么”来说一说图画的大概内容。 (聚焦天空草地,风筝等相关元素) 三、聚焦画面,让人物“动”起来。 1.同学们,放风筝就像一部小电影,而图片就像定格了其中的一个画面,现在我们把画面聚焦,再聚焦,看看这两个小男孩是怎么放风筝的,他们的动作是怎样的? (根据生活经验描述放风筝的过程,记下放风筝时运用的动词) 2.小兔子和小松鼠也喜欢放风筝,你们想看看他们是怎样放风筝的吗?(播放视频,一边播放,一边模仿动作) 3.根据视频再次补充放风筝时的相关动作,用上表示先后顺序的词语。 四、展开想象,让画面“活”起来

小型绘图系统课程设计

目录

一.系统功能设计 功能说明:实现基本图元(直线、圆、多边形、曲线)的绘制; 功能要求: 1)使用静态切分视图,将屏幕切分为左右窗格。左窗格是控制窗格,右窗格为显示窗格。 2)使用橡皮筋技术动态演示基本图元的绘制过程。 3)基本图元的数据(几何数据和属性数据)可以交互进行输入和修改。 4)可以对二维图形进行颜色填充操作。 5)使用填充算法结合基本图形生成算法绘制下面的图形 二.详细设计 关于视图是直接基于mfc单文档制作,未能实现静态分切视图功能,实现在视图上部添加控制窗格和控制按钮,视图区用以绘图显示。详细设计如图所示。 动态演示基本图元的绘制过程: 动态演示图元绘制需要添加鼠标响应事件来设置,我的设计思路是这样的,以直线、矩形、圆为例。首先添加一个鼠标左键单击事件void CJjyyView::OnLButtonDown(UINT nFlags, CPoint point) 在视图类上方定义BOOL型变量m_startRect,设置为确认左键单击可以开始画图元,定义HCURSOR m_HCross,初始化光标为十字型光标,然后用CPoint定义

三个过程中需要用到的点:m_ptOrigin;m_OldPoint;m_startPoint;此时把UINT m_ndrawtype;同时定义用以判断画的是什么图形。定义完后再视图类中CJjyyView::CJjyyView()初始化函数: m_startPoint=0; m_startRect=FALSE; m_ndrawtype=0; m_HCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS); 完成后再buttondown中添加关键代码: void CJjyyView::OnLButtonDown(UINT nFlags, CPoint point) { CView::OnLButtonDown(nFlags, point); m_startRect=TRUE;//鼠标左键单击,设置可以开始绘制图形 m_startPoint=point; //记录起始点 m_OldPoint=point;//设置老点也为起始点 ::SetCursor(m_HCross); m_ptOrigin = point; 这样左键单击的响应事件就暂时设定终了,随后需要用到buttonup的响应事件来画出图形,使用Ctrl+W也就是mfc classwizard添加鼠标松开的响应,首先添加两行代码重置绘制标志m_startRect=FALSE;//重置绘制标志 ::ClipCursor(NULL);//解锁光标,即将光标恢复为默认光标 然后添加获取设备句柄函数CClientDC dc(this);然后用 dc.SelectStockObject(NULL_BRUSH);设置画刷为空画刷。 接下来使用一个switch(m_ndrawtype)来判别选择画哪一种图形,首先case1就设置为画直线:添加画直线代码: dc.MoveTo(m_startPoint); dc.LineTo(m_OldPoint); 这两句是擦去MouseMove消息响应中绘制的最后一次临时线,然后输入 dc.MoveTo(m_startPoint); dc.LineTo(point); 绘制固定线。Break结束。接下来case2即是加入画矩形的代码: dc.Rectangle(CRect(m_startPoint,m_OldPoint)); dc.Rectangle(CRect(m_startPoint,point)); 画圆也是依次类推,过程中都是直接调用了vc中现有的函数用以绘制图形,所以这几部很简单就做好了。画圆的代码为: dc.Ellipse(CRect(m_startPoint,m_OldPoint));

第15章简单几何体复习与小结(教师版)

第15章 简单几何体(教师版) 复习与小结 一.要点呈现 1、多面体的结构特征: (1)棱柱:有两个面 互相平行 ,其余各面是 平行四边形 ,且相邻两个面的交线都 互相平行 . (2)棱锥:有一个面是 多边形 ,而其余各面都是有一个 公共顶点 的三角形. (3)圆柱:旋转图形 矩形 ,旋转轴: 矩形的一条边 所在的直线. (4)圆锥:旋转图形 直角三角形 ,旋转轴: 一条直角边 所在的直线. (5)球:旋转图形 半圆 ,旋转轴: 半圆的直径 所在的直线. 2、平行投影与直观图:空间几何体的直观图常用 斜二测 画法来画,其规则是: (1)原图形中x 轴、y 轴、z 轴两两垂直,直观图中,x 轴、y 轴的夹角为45?,z 轴与x 轴和y 轴所在平面 垂直 . (2)原图形中平行于坐标轴的线段,直观图中仍分别 平行于坐标轴 .平行于y 轴和z 轴的线段在直观图中保持原长度 不变 ,平行于x 轴的线段长度在直观图中 取原长度一半 . 3、特殊的棱柱:侧棱不垂直于底面的棱柱称为 斜 棱柱;侧棱垂直于底面的棱柱叫做 直 棱柱;底面是正多边形的直棱柱是 正 棱柱;底面是平行四边形的四棱柱叫做 平行六面体 ;侧棱垂直于底面的平行六面体叫做 直平行六面体 ;底面是矩形的直平行六面体叫做 长方体 ;棱长都相等的长方体叫做 正方体 ;其中长方体对角线的平方等于同一顶点上 三条棱长度的平方和 . 4、特殊的棱锥:如果棱锥的底面为正多边形,且各侧面是全等的等腰三角形,那么这样的棱锥称为 正棱锥 ,它的各侧面底边上的高均 相等 ,叫做 斜高 ;侧棱长等于底面边长的正三棱锥又称为 正四面体 . 5、在推导几何体体积公式时,我们应用了祖暅原理,该原理的意思是 两等高的几何体若在所有等高处的水平截面的面积相等,则这两个几何体的体积相等 . 6、两点间的球面距离的定义是: 经过这两点的大圆在这两点间的一段劣弧长度叫两点间的球面距离 . 二.范例导析 【例1】三棱锥O-ABC 的三条棱OA, OB, OC 两两垂直,OA=1,OB=OC=2,求: (1)内切球表面积; (2)外接球体积. 分析:通过体积相等法求内切球的半径;怎样找外接球的球心? 解答:(1)内切球的半径为:45r -=8825 -; (2)外接球的半径为:32R =,体积为92 π.

中文版AutoCAD2014实例教程第三章简单二维图形的绘制

第3章 简单二维图形的绘制 任何一个复杂的图形,都是由点、直线、圆弧、多边形等简单的二维图形组合而成的,这些简单二维图形对象是AutoCAD绘图的基础。 掌握点的绘制方法,掌握点样式的设置和两种等分点的绘制方法。 掌握直线的绘制方法,掌握射线、构造线的绘制方法,能够在不同角度绘制射线和构造线。 掌握圆和圆弧的绘制方法,特别是根据不同的已知条件绘制圆和圆弧。掌握椭圆和椭圆弧的绘制方法,了解椭圆在等轴测图中的作用。 掌握矩形和多边形的绘制方法,掌握圆角和倒角矩形的绘制方法,了解内切圆和外接圆两种多边形的定义方式。

3.1 绘制点对象 点是在平面或空间中占据一个坐标的抽象对象,一般用于其他对象的定位,还可用于等分图形对象。 3.1.1 设置点样式 点是一种理论的几何对象,它没有大小和长度。AutoCAD默认点的显示效果为一个黑色圆点标记,在屏幕上很难看清。为了突出显示点的位置,可以为点设置多种不同的标记符号,这种标记符号称为点样式,AutoCAD根据制图需要提供了20种点样式。 调用【点样式】命令的方法如下。 菜单栏:选择【格式】│【点样式】命令。 功能区:在【默认】选项卡中,展开【实用工具】滑出面板,单击【点样式】按 钮。 命令行:在命令行输入DDPTYPE并按Enter键。 执行该命令后,系统弹出图3-1所示的【点样式】对话框。该对话框中第一行第二个样式是空白,该样式可作为不可见标记使用,但在对象捕捉时仍然可以捕捉到。在对话框中除了可以选择不同的点样式,还可以修改点标记的显示大小(见图3-2)。点大小有以下两种定义方法。 相对于屏幕:点的大小按其占屏幕大小的百分比来定义,这样在缩放图形时,点 的大小不会随之变化。 绝对单位:点的大小按绘图的单位来定义,相当于一个图形对象,这样在缩放图 形时,点的显示尺寸也会随之缩放。 图3-1 【点样式】对话框图3-2 设置点样式 3.1.2 绘制点 点的绘制分为单点绘制和多点绘制,绘制单点就是执行一次命令只能绘制一个点。 调用【单点】命令的方法如下。 菜单栏:选择【绘图】│【点】│【单点】命令。

八年级信息技术 1.2 简单的图形绘制教案 山西版

1.2 简单的图形绘制 一、教学目标 知识与技能: 1.绘图工具(刷子工具、椭圆工具、矩形工具、变形工具)的应用。 2.掌握绘图工具选项的应用,颜色面板的应用。 过程与方法: 通过学生自主学习和合作探究,培养学生运用信息技术解决实际问题的能力。 情感态度与价值观: 培养学生养成严谨的学习态度和团结协作的精神,提升素质,发展个性。 二、教学的重点和难点: 重点:绘图工具的应用难点:颜色面板渐变编辑条的编辑 三、教学准备:多媒体网络控制系统 四、教学方法:自学法讲授法讨论法练习法 五、教学安排:2课时 六、教学过程: (一)导入 Flashcs5.5中提供了各种与绘图相关的工具,很多精彩的动画其基础图形都是由这些工具绘制出来的。在上节课中我们一起绘制简单的图形。 (二)讲授新课 1.今节课的任务是P4实践,完善“乡间小屋”画面。 在这个任务中我们要用刷子、椭圆、矩形、变形等绘图工具。现在我先演示一遍。 ①启动flashcs5.5,打开教材光盘中的文件“乡间小屋.fla”. ②选择刷子工具,在工具选项区设置刷子形状和刷子大小(如图1-2-3),将填充颜色 设为#663300(如图1-2-4),绘制树干(如图1-2-5)。 ③绘制树叶,单击喷涂刷工具,将喷涂颜色设为#009933,效果如图1-2-6,设置画笔 宽度和高度(如图1-2-7)。在树干周围单击或拖动鼠标,喷涂树叶,如图1-2-8。 ④复制小树。单击选择工具,框选小树,按住ctrl键拖动复制小树。单击任意变形工 具,将复制的小树缩小并拖放到小树左侧,如图1-2-9。(用ctrl+c和ctrl+v也可) ⑤绘制太阳。单击椭圆工具,将笔触颜色设为无色。单击颜色面板图标,“颜色类型” 选择:“径向渐变”,设置颜色样本,如图1-2-10。按住shift键,拖动鼠标画出太阳,如图1-2-11。 ⑥绘制蓝天绿地。单击矩形工具,将填充颜色设为无色,笔触颜色任选,绘制一个与舞 台大小一样的矩形。单击颜料桶工具,选择空隙大小选项中的“封闭大空隙”选项,如图1-2-12。 打开颜色面板,颜色类型选择“线性渐变”,设置颜色样本,如图1-2-13。在矩形区域从下向上拖动鼠标,填充矩形颜色。如图1-2-14。 单击选择工具,双击矩形工具线条,按住delete键删除矩形线条。 7. 绘制白云。单击椭圆工具,将填充颜色设为白色,笔触颜色设为无色,用多个椭圆堆 叠绘制白云,如图1-2-15。 8.绘制小花。单击椭圆工具,填充颜色任选,将笔触颜色设为无色,用两个椭圆堆叠彩 色小花。

计算机 第2单元 简单图形绘制

“点”命令使用: “绘图”--“点” 定数等分:某条线段,需要X等分 定距等分:某条线段,需要每隔Xmm进行等分 选择被等分对象 输入等分数目:10

等分完成后,线条没显示等分点,按以下步骤设置。 设置显示点,初始设置空间中:“实用工具”--“点样式”如下图。 CAD经典空间:“格式”--“点样式” 选择第四种样式----确定

使用完等分点后,可以在点样式中修改为第一种点。 第二单元简单图形绘制 任务一 操作要求: 1.建立新图形文件:建立新图形文件,绘图区域为100X100. 2.绘图: ●绘制一个长为60,宽为30的矩形;在矩形对角线交点处绘制一个半径为10 的圆。 ●在矩形下边线左右各1/8处绘制圆的切线;再绘制一个圆的同心圆,半径为5, 完成后的图形参见图2-1. 1.将完成的图形以KSCAD2-1.DWG为文件名保存在考生文件夹中。 图2-1 任务二 操作要求: 1.建立新图形文件:建立新图形文件,绘图区域为240X200。 2.绘图: ●绘制一个100 X25的矩形。 ●在矩形中绘制一个样条曲线,样条曲线顶点间距相等,左端点切线与垂直方 向的夹角45°,右端点切线与垂直方向的夹角为135°,完成后的图形参见图2-2。 3.保存:将完成的图形以KSCAD2-2.DWT为文件名保存在考生文件夹中。

图2-2 任务三 操作要求: 1.建立新图形文件:建立新图形文件,绘图区域为240X200。 2.绘图: ●绘制一个两轴长分别为100及60的椭圆。 ●椭圆中绘制一个三角形,三角形三个顶点分别为:椭圆上四分点、椭圆左下 四分之一椭圆弧的中点以及椭圆右四分之一椭圆弧的中点;绘制三角形的内切圆。完成后的图形参见图2-3。 3.保存:将完成的图形以KSCAD2-3.DWG为文件名保存在考生文件夹中。 图2-3 任务四 操作要求: 1.建立新图形文件:建立新图形文件,绘图区域为420X297。 2.绘图: ●绘制一个宽度为10、外圆直径为100的圆环。 ●在圆中绘制箭头,箭头尾部宽为10,箭头起始宽度(圆环中心处)为20;箭 头的头尾与圆环的水平四分点重合。绘制一个直径为50的同心圆。完成后的图形参见图2-4。

第二单元(基本图形的绘制)

第二单元基本图形的绘制 2.1 第一题 1.在指定的FTP地址中的考试文件夹下的文件Scad0 2.dwg拷入考生自己的文件夹,并以该文件作原型图或打开该文件,再完成后面的工作。 2.按图中给出的坐标,绘制三角形。 3.绘出该三角形的内切圆和外接圆。 4.用文本命令完成如图所示的文字,文本字高10个单位。 5.将完成的图形存入考生自己的目录,名称为Tcad2-1.dwg。

1.在指定的FTP地址中的考试文件夹下的文件Scad0 2.dwg拷入考生自己的文件夹,并以该文件作原型图或打开该文件,再完成后面的工作。 2.按图中给出的圆心点的坐标和半径,分别绘制出两个圆。 3.绘出该两圆的两条外公切线。 4.用文本命令完成如图所示的文字,文本字高10个单位。 5.将完成的图形存入考生自己的目录,名称为Tcad2-2.dwg。

1.在指定的FTP地址中的考试文件夹下的文件Scad0 2.dwg拷入考生自己的文件夹,并以该文件作原型图或打开该文件,再完成后面的工作。 2.如图所示,直线BC分别是弧形AB和弧CD的切线,且弧AB角度为180o,弧BC长为50个单位。 3.按图中给出的A、B、C三点的坐标作出下图。 4.用文本命令完成如图所示的文字,文本字高9个单位。 5.将完成的图形存入考生自己的目录,名称为Tcad2-3.dwg。

1.在指定的FTP地址中的考试文件夹下的文件Scad0 2.dwg拷入考生自己的文件夹,并以该文件作原型图或打开该文件,再完成后面的工作。 2.以O(130,145)点为圆心作一半径为50的圆,过点A(30,145)分别作出切线AB和AC。 3.作一圆分别相切于AB和AC,且半径为20。 4.用文本命令完成如图所示的文字,文本字高8个单位。 5.将完成的图形存入考生自己的目录,名称为Tcad2-4.dwg。

翰文平面图绘制系统教程

第一章、软件概述 本公司开发的《施工平面图绘制系统》软件,简化和集成了一些常见的绘图操作。不仅在界面上十分友好,在操作过程中,我们只需移动和点击鼠标就能够完成平面图绘制工作。不必去记忆枯燥的命令、也不必去考虑特殊线形和实体的绘图过程,您只需移动鼠标,就能够绘制一张完整而又漂亮的施工平面图。 施工平面布置图软件在绘制图形过程中集成很多常规操作、常用的线形。软件专门制作了绘图按钮,只需要点击按钮,即可在图纸上完成这些特殊的线形绘制任务。常用的图形,比如:塔吊、施工设施等,软件提供了一些特有的解决办法。绘制塔吊时,软件专门为绘制塔吊制作了一个操作按钮,只需点击按钮,即可绘制一个塔吊,绘制好塔吊后,还可以移动其吊臂观看作业范围;绘制现场小品、施工设施、图例等可以通过绘制图块来轻松解决这些常用的图形绘制任务,在系统图库中,本公司已经为您准备了很多专用的标准图库,使得绘图变得相当轻松;绘制场地功能区,可以使用软件提供的填充功能,通过填充可以在不同功能区填充颜色和图元,这样可以很快绘制完功能区的分布图。 此外,软件还提供了强大的编辑功能,在绘图过程中,您可以一次性更改多个文本的格式,也可以一次性更改多个图形的填充类型等等。 第二章、运行界面简介 一、软件界面 本软件采用了标准的Windows界面,运行软件后,将出现软件主界面,如图所示:

二、常用菜单与工具 1、主菜单与工具栏 1、”文件” 2、编辑 3、绘图 4、修改 5、显示 6、窗口 7、帮助

2、绘图工具栏 该工具栏作为绘图工具,分为常用绘图工具(工具栏左)、专业绘图工具(工具栏右)。后面会详细叙述各绘图工具使用方 法。 3、常用图库工具栏 该图库位于软件右方,放置了各种常用图形, 方便使用者调用,无需重复绘制,还可自己添加图 形到该图库中。

绘制简单的图形

《绘制简单的图形》教学设计 【教学内容】: 小学信息技术教材青岛版四年级上册——第十课《绘制简单的图形》。 【学情分析】: 本课是本册书中第十课。学生已经学习了文字的插入与删除、对文字进行装饰、插入图形、插入艺术字等知识,对WORD已具有初步的操作能力了。本课是在前几课的教学基础上,让学生在页面中添加简单的图形,达到锦上添花的作用。所用的工具主要是绘图工具栏。 绘图工具栏作用很大,功能也很多。可以画流程图,数学中的线段图、几何图形,做电子手抄报等等。但是,在设计教学任务时,又觉得这些不太适合作为教学任务。 以画流程图为例,学生毕竟只有小学4年级,要理解流程图的概念,再理清思路,构思出完整的流程图,这是需要很多时间的,学生就无法在一节课时间内完成作品了。而且,流程图的画法是比较规范统一的,这也限制了学生思维的创新。 再以电子手抄报为例,虽然电子手抄报的形式多,可以极大地锻炼学生的创新能力,但是,电子手抄报的内容又太多,设计难度也太大,还牵扯到很多后面的知识,如文本框等,也不适合作为本节课的教学任务。 基于以上的分析,又恰逢元旦将至,我设计了以“设计新年贺卡”为项目的一堂课。贺卡里的贺词由老师以文本框的形式给出,学生只需在贺卡的版面上绘制一些图形,使贺卡变得更加美观就可以了。这样,不但降低了难度,减少了操作量,又突出了重点——绘制图形。更重要的是,在新年做一张贺卡送给自己的朋友也是他们很乐意做的事,这样的任务,更有利于激发他们的创作欲。 【教学目标】: 1、学会使用绘图工具栏上的按钮绘制线条、矩形、圆以及其他图形。 2、掌握改变几何图形的填充颜色、线条颜色、线型、阴影等效果的方法。 3、学会使用shift键画出正方形和圆。 4、通过布置生活中的实用任务这样一个项目,使学生感受信息技术的时代性、现实性,培 养“学以致用”的习惯,提高创作的乐趣。 5、通过观察鼠标指针的不断变化带给我们的不同提示,使学生感受计算机的人性化设计, 进一步提高自学能力、对新技术的适应能力。 6、通过同学间互相赠送贺卡,增进同学间的友情。 【教学重点】:

绘图系统设计及实现

绘图系统设计及实现 目录 一、绘图系统概述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

绘图系统设计及实现 摘要 自从上世纪计算机系统向绘画界的延伸以来,绘图技术已成为计算机系统不可分割的一部分。而图形编辑器又是图形编辑软件的基础,几乎所有的图形编辑软件,都是在拥有基本图形编辑功能的基础上实现更复杂功能的。故在图形应用非常广泛的今天,研究开发绘图系统是非常有意义的。本文主要经过对绘图系统软硬件配置的分析,就绘图系统的设计及实现进行了合理的阐述。在基于MFC的操作环境中,通过对CD、CDC类以及CDI、CGdiobject类的应用,在绘图方面实现绘制直线、矩形、圆形等基本功能,在界面设计方面实现了对图形的操作,从而从底层对绘图系统进行简单的实现。 关键词:硬件系统组成软件系统构架图形操作及绘画技术基本绘图功能图形界面

Design and implementation of drawing system Abstract Since 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 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 software 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 of 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

画几何图形教案

第三课画几何图形教学目标 学会几何图形的画法。 教学任务 1、学习椭圆、矩形、圆角矩形工具的使用方法。 2、能运用画图工具作简单的规则图形。 教学方法 展示点评 教学重点、难点 “椭圆”、“矩形”、“圆角矩形”等画图工具的使用方法。 教学过程 教学引入 (讲解上节课学生的作业,点评学生的作品) 一、引入 在上课前老师先请你们看一幅画(演示图画),请你们仔细观察一下,这个房子分别是由哪些图形组成的?(长方形、正方形、圆角长方形、椭圆)那我们应该怎样来画这座房子呢?今天我们就来学习。 出示课题:画方形和圆形(板书) 二、新课 1.矩形工具(画房子的主体) 首先我们应该画出房子的主体,是一个长方形,我们可以用工具箱中的矩形工具来画。(师演示) (1)单击工具箱中的“矩形”工具按钮。 (2)在画图区适当的位置按下左键,以确定房子主体的左上角位置,再向右下角拖动,满意后,松开左键,这样房子的主体就画好了。 请一位同学上来演示用矩形工具画一扇门。(注意门的位置) 问:房子的窗户是什么形状的?正方形我们怎么来画呢? 请同学们自己在书上找到答案(读一读)。 在房子主体内确定好窗户的位置后,按下Shift键,再拖动鼠标,满意后松开鼠标,窗户就画好了。

下面请同学们练习,教师巡视指导。 2.圆角矩形工具(画房子的房顶、烟囱) 房顶是什么形状的? 我们可以用工具箱中的“圆角矩形”工具来画。它的画法与“矩形”工具是一样的,谁来试一下,把房顶和烟囱画出来。 学生演示(确定好房顶的位置后,拖动出一个合适的圆角长方形)。 3.椭圆工具(画烟) 烟囱里冒出的烟是椭圆形的,我们可以用工具箱中的“椭圆”工具来画,先单击“椭圆”工具,然后从烟囱口向右上方,分别拖动画出三个椭圆。(师演示) 学生练习(把剩余部分画好) 练习 用多边形工具画出书上p38的图形,保存在指定的文件夹

第二单元-简单图形绘制操作步骤

第二章简单图形绘制 第1题 (2) 第2题 (4) 第3题 (6) 第4题 (8) 第5题 (10) 第6题 (12) 第7题 (14) 第8题 (16) 第9题 (18) 第10题 (19)

第1题 操作步骤: 1)菜单:【格式】→【图形界限】;命令:'_limits 2)指定左下角点或[开(ON)/关(OFF)] <0.0000,0.0000>: 3)指定右上角点<12.0000,9.0000>:100,100 4)菜单:【视图】→【缩放】→【范围缩放】 5)执行【绘图】→【直线】命令:_line 指定第一点:窗口中任点一点,打开正交模式。 6)指定下一点或[放弃(U)]:<正交开> 60 7)指定下一点或[放弃(U)]:30 8)指定下一点或[闭合(C)/放弃(U)]:60 9)指定下一点或[闭合(C)/放弃(U)]:C

10)关闭正交模式 11)执行【绘图】→【直线】命令,绘制矩形的两条对角线上。 12)执行【绘图】→【圆】命令,圆心为对角线交点,半径为10。 13)执行【绘图】→【点】→【定数等分】命令,选择矩形下边直线。 14)输入线段数目或[块(B)]:8 15)执行【绘图】→【直线】命令,并将对象捕捉的节点和切点勾选,在矩形下边线左右各 1/8处绘制圆的切线 16)执行【绘图】→【圆】命令,圆心为对角线交点,半径为5 17)将矩形对角线删除。 18)保存图形,关闭CAD窗口,进入下一题。

第2题 操作步骤: 1)菜单:【格式】→【图形界限】;命令:'_limits 2)指定左下角点或[开(ON)/关(OFF)] <0.0000,0.0000>: 3)指定右上角点<12.0000,9.0000>:240,200 4)菜单:【视图】→【缩放】→【范围缩放】 5)执行【绘图】→【直线】命令:_line 指定第一点:窗口中任点一点,打开正交模式。 6)指定下一点或[放弃(U)]:<正交开> 100 7)指定下一点或[放弃(U)]:25 8)指定下一点或[闭合(C)/放弃(U)]:100 9)指定下一点或[闭合(C)/放弃(U)]:C 10)关闭正交模式。 11)执行【绘图】→【点】→【定数等分】命令,分别将矩形上、下两条水平直线均分为 12份。 12)执行【绘图】→【样条曲线】命令,并将对象捕捉的节点勾选,第一点为矩形左边竖线

WINDOWS系统自带画图工具教程

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

想在电脑上画画吗?很简单,Windows?已经给你设计了一个简洁好用的画图工具,它在开始菜单的程序项里的附件中,名字就叫做“画图”。 启动它后,屏幕右边的这一大块白色就是你的画布了。左边是工具箱,下面是颜色板。 现在的画布已经超过了屏幕的可显示范围,如果你觉得它太大了,那么可以用鼠标拖曳角落的小方块,就可以改变大小了。 首先在工具箱中选中铅笔,然后在画布上拖曳鼠标,就可以画出线条了,还可以在颜色板上选择其它颜色画图,鼠标左键选择的是前景色,右键选择的是背景色,在画图的时候,左键拖曳画出的就是前景色,右键画的是背景色。 选择刷子工具,它不像铅笔只有一种粗细,而是可以选择笔尖的大小和形状,在这里单击任意一种笔尖,画出的线条就和原来不一样了。 图画错了就需要修改,这时可以使用橡皮工具。橡皮工具选定后,可以用左键或右键进行擦除,这两种擦除方法适用于不同的情况。左键擦除是把画面上的图像擦除,并用背景色填充经过的区域。试验一下就知道了,我们先用蓝色画上一些线条,再用红色画一些,然后选择橡皮,让前景色是黑色,背景色是白色,然后在线条上用左键拖曳,可以看见经过的区域变成了白色。现在把背景色变成绿色,再用左键擦除,可以看到擦过的区域变成绿色了。 现在我们看看右键擦除:将前景色变成蓝色,背景色还是绿色,在画面的蓝色线条和红色线条上用鼠标右键拖曳,可以看见蓝色的线条被替换成了绿色,而红色线条没有变化。这表示,右键擦除可以只擦除指定的颜色--就是所选定的前景色,而对其它的颜色没有影响。这就是橡皮的分色擦除功能。 再来看看其它画图工具。 是“用颜料填充”,就是把一个封闭区域内都填上颜色。 是喷枪,它画出的是一些烟雾状的细点,可以用来画云或烟等。 是文字工具,在画面上拖曳出写字的范围,就可以输入文字了,而且还可以选择字体和字号。 是直线工具,用鼠标拖曳可以画出直线。 是曲线工具,它的用法是先拖曳画出一条线段,然后再在线段上拖曳,可以把线段上从拖曳的起点向一个方向弯曲,然后再拖曳另一处,可以反向弯曲,两次弯曲后曲线就确定了。 是矩形工具,是多边形工具,是椭圆工具,是圆角矩形,多边形工具的用法是先拖曳一条线段,然后就可以在画面任意处单击,画笔会自动将单击点连接起来,直到你回到第一个点单击,就形成了一个封闭的多边形了。另外,这四种工具都有三种模式, 就是线框、线框填色、和只有填色。

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