项目五图形控件与绘图操作

上传人:鲁** 文档编号:584302112 上传时间:2024-08-30 格式:PPT 页数:52 大小:477.59KB
返回 下载 相关 举报
项目五图形控件与绘图操作_第1页
第1页 / 共52页
项目五图形控件与绘图操作_第2页
第2页 / 共52页
项目五图形控件与绘图操作_第3页
第3页 / 共52页
项目五图形控件与绘图操作_第4页
第4页 / 共52页
项目五图形控件与绘图操作_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《项目五图形控件与绘图操作》由会员分享,可在线阅读,更多相关《项目五图形控件与绘图操作(52页珍藏版)》请在金锄头文库上搜索。

1、项目五项目五 图形控件与绘图操作图形控件与绘图操作项目五 图形控件与绘图操作v学习目的:学习目的:掌握绘图操作必需的图形基础知识及坐标系统的掌握绘图操作必需的图形基础知识及坐标系统的作用和定义。作用和定义。掌握常用图形控件(掌握常用图形控件(PictureBoxPictureBox、ImageImage、LineLine、ShapeShape)的使用方法、控件的常用属性和事件。的使用方法、控件的常用属性和事件。掌握图形操作的常用方法(掌握图形操作的常用方法(PSetPSet、LineLine、CircleCircle)与技巧。与技巧。活动一活动一 认识认识VBVB坐标系统坐标系统一、一、VBV

2、B坐标系统坐标系统vVBVB坐标系统是一个二维坐标系统,是由坐标原点、坐标度量坐标系统是一个二维坐标系统,是由坐标原点、坐标度量单位、坐标单位、坐标X X轴和坐标轴和坐标Y Y轴组成。轴组成。v在在VBVB中,有两种坐标系统:一种是中,有两种坐标系统:一种是VBVB提供的标准坐标系统,提供的标准坐标系统,另一种是用户自定义坐标系统。另一种是用户自定义坐标系统。v1 1、标准坐标系统、标准坐标系统v在标准坐标系统中,均以容器的左上角为该坐标系统的坐标在标准坐标系统中,均以容器的左上角为该坐标系统的坐标原点(原点(0 0,0 0),坐标轴的默认单位都是缇。),坐标轴的默认单位都是缇。ScaleMo

3、deScaleMode属性属性v每个容器都有一个坐标系,坐标度量单位由容器对象每个容器都有一个坐标系,坐标度量单位由容器对象的的ScaleModeScaleMode属性决定,属性决定,ScaleModeScaleMode属性设置如表属性设置如表1 1所示。所示。表表1 1 ScaleModeScaleMode属性设置属性设置属性值属性值 单单 位位 说说 明明0 0 用户定义用户定义 UserUser1 1 缇缇 TwipTwip缺省值缺省值2 2 磅磅 PointPoint3 3 像素像素 PixelPixel4 4 字符字符 CharecterCharecter缺省为高缺省为高1212磅,

4、宽磅,宽2020磅磅5 5 英寸英寸 InchInch6 6 毫米毫米 MillimeterMillimeter7 7 厘米厘米 CentimeterCentimetery(0,0)x20001500自定义坐标自定义坐标(0,0)yx(-1000,750)(1000,-750)一、一、VBVB坐标系统坐标系统v2 2、自定义坐标系统、自定义坐标系统在在VBVB的窗体对象中也可以使用自定义的坐标系统。的窗体对象中也可以使用自定义的坐标系统。在自定义坐标系统中,可以任意规定坐标轴的方在自定义坐标系统中,可以任意规定坐标轴的方向,使用任意的长度单位。向,使用任意的长度单位。对于窗体来说,对于窗体来说

5、,LeftLeft、TopTop、WidthWidth和和HeightHeight属性属性的单位永远是缇。其中的单位永远是缇。其中LeftLeft、TopTop分别是窗体的分别是窗体的外边框到屏幕左边、上边的距离;外边框到屏幕左边、上边的距离;WidthWidth和和HeightHeight分别是包括窗体的边框和标题栏在内的宽分别是包括窗体的边框和标题栏在内的宽度和高度。度和高度。一、一、VBVB坐标系统坐标系统v方法方法1 1:通过:通过ScaleScale方法设置坐标系统。方法设置坐标系统。v格式:格式: 对象对象.Scale(x1,y1)-(x2,y2).Scale(x1,y1)-(x2

6、,y2)v说明:说明:(1 1)对象可以是窗体、图片框或打印机。)对象可以是窗体、图片框或打印机。(2 2)参数)参数(x1,y1)(x1,y1)和和(x2,y2)(x2,y2)分别指定对象的左上角和右分别指定对象的左上角和右下角的新坐标。下角的新坐标。例:例:Form1.Scale(100,100)-(500,500)Form1.Scale(100,100)-(500,500)表示窗体表示窗体Form1Form1的坐标系统为:左上角坐标的坐标系统为:左上角坐标(100,100)(100,100),右下角坐标,右下角坐标(500,500)(500,500)。ScaleWidthScaleWid

7、th=x2-x1=x2-x1ScaleHeightScaleHeight=y2-y1=y2-y1v执行无参数的执行无参数的ScaleScale方法,则会取消用户自定义坐标系统。方法,则会取消用户自定义坐标系统。恢复为标准坐标系统(以缇为单位,以恢复为标准坐标系统(以缇为单位,以(0,0)(0,0)点为原点)。点为原点)。v【ScaleWidth】,【ScaleHeight】属性属性v功能:设置或返回功能:设置或返回X轴长度和轴长度和Y轴长度。轴长度。v说明:说明:【ScaleWidth】,【ScaleHeight】属性可以设为负属性可以设为负值,但此时的负值并不表示值,但此时的负值并不表示X轴

8、的长度、轴的长度、Y轴的长度为负值,轴的长度为负值,而是用来规定而是用来规定X轴、轴、Y轴的正方向。如果轴的正方向。如果【ScaleWidth】属属性为负,则表示性为负,则表示X轴的正方向为向左;如果轴的正方向为向左;如果【ScaleHeight】属性为负值,则表示属性为负值,则表示Y轴的正方向为向上。轴的正方向为向上。一、一、VBVB坐标系统坐标系统v方法方法2 2:通过对象的:通过对象的ScaleLeftScaleLeft、ScaleTopScaleTop、ScaleWidthScaleWidth、ScaleHeightScaleHeight属性来实现。属性来实现。标准坐标系统中,标准坐标

9、系统中,ScaleLeftScaleLeft和和ScaleTopScaleTop属性总是属性总是0 0;ScaleWidthScaleWidth和和ScaleHeightScaleHeight属性则是根据坐标系统的长度单位属性则是根据坐标系统的长度单位计算的对象内部区域的实际宽度和高度。计算的对象内部区域的实际宽度和高度。当改变当改变ScaleTopScaleTop或或ScaleLeftScaleLeft的值后,坐标系的的值后,坐标系的X X轴或轴或Y Y轴按此轴按此值平移形成新的坐标原点。右下角坐标值为值平移形成新的坐标原点。右下角坐标值为( (ScaleLeft+ScaleWidth,Sc

10、aleTop+ScaleHeightScaleLeft+ScaleWidth,ScaleTop+ScaleHeight) )。X X轴与轴与Y Y轴轴的度量单位为分别为的度量单位为分别为1 1ScaleWidthScaleWidth和和1 1ScaleHeightScaleHeight。例:例:Scale(x1,y1)-(x2,y2)Scale(x1,y1)-(x2,y2)等同于设置以下四个属性:等同于设置以下四个属性:ScaleLeftScaleLeft=x1=x1ScaleTopScaleTop=y1=y1ScaleWidthScaleWidth=x2-x1=x2-x1ScaleHeigh

11、tScaleHeight=y2-y1=y2-y1一、一、VBVB坐标系统坐标系统v【例1】在窗体的单击事件中,用属性定义图片框的坐标系。v【例2】在窗体中单击命令按钮,用Scale方法定义图片框的坐标系。二、直线控件(二、直线控件(Line)v直线控件直线控件(Line)(Line)用来在窗体和其他容器控件中创建简单的线用来在窗体和其他容器控件中创建简单的线段,它没有自己的特殊方法,也不产生任何事件。设计和运段,它没有自己的特殊方法,也不产生任何事件。设计和运行时可以通过它的属性来改变它的位置、粗细和颜色等。行时可以通过它的属性来改变它的位置、粗细和颜色等。v1. 1. 常用属性常用属性(1)

12、BorderColor(1)BorderColor属性:设置直线的颜色。属性:设置直线的颜色。(2)BorderWidth(2)BorderWidth属性:设置直线的粗细。属性:设置直线的粗细。(3)BorderStyle(3)BorderStyle属性:设置直线样式。属性:设置直线样式。0 06 6种类型种类型,1,1实线实线,6,6内实线。内实线。v2. 2. 特有属性特有属性x1,x2,y1,y2x1,x2,y1,y2属性:指定起点和终点的属性:指定起点和终点的x x坐标及坐标及y y坐标。可坐标。可以通过改变以通过改变x1,x2,y1,y2x1,x2,y1,y2的值的值, ,来改变线的

13、位置和长度。来改变线的位置和长度。 v说明:说明:直线控件没有直线控件没有LeftLeft、TopTop、WidthWidth和和HeightHeight属性,运行时属性,运行时也不能用也不能用MoveMove方法决定直线的位置和长短。方法决定直线的位置和长短。三、三、Pset方法方法v格式格式: :对象名对象名. .PSet(x,yPSet(x,y) ), ,颜色颜色v功能功能: :在窗体或图片框上画出一个点。对象缺省时在窗体或图片框上画出一个点。对象缺省时, ,为窗体。为窗体。v说明说明: :(1)(x,y)(1)(x,y)为要画点的坐标。为要画点的坐标。(2)(2)颜色颜色: :是指要画

14、点的颜色。缺省时是指要画点的颜色。缺省时, ,PSetPSet用用“前景色前景色”画点画点, ,如想删除一个点,则用如想删除一个点,则用“背景色背景色”画点。画点。例如例如: :vPicture1.PSet(1500,1000),RGB(255,0,0) Picture1.PSet(1500,1000),RGB(255,0,0) v在图片框在图片框Picture1Picture1中中(1500,1000)(1500,1000)处画一个红色的点。处画一个红色的点。四、四、AutoRedraw属性属性vAutoRedraw属性是窗体和图片框的属性。属性是窗体和图片框的属性。当使用当使用Line、C

15、ircle、Pset、Point、Print等方法创建的等方法创建的图形和文字在屏幕中暂消失,窗体复原后,这些图形或图形和文字在屏幕中暂消失,窗体复原后,这些图形或文字无法自动恢复。当设置文字无法自动恢复。当设置AutoRedraw属性值为属性值为True后,则可以自动恢复,否则要由后,则可以自动恢复,否则要由Paint事件过程完成。事件过程完成。活动一实例活动一实例例:在图片框上随机画例:在图片框上随机画100个闪烁的彩色圆点。个闪烁的彩色圆点。活动二 图形控件的运用v图形控件有直线控件(Line)、形状控件(Shape)、图像框(Image)、图片框(PictureBox),本节分别介绍其

16、程序设计方法。一、形状控件v使用形状控件(Shape)可在窗体或其他控件容器中画出矩形、正方形、圆、椭圆、圆角矩形或圆角正方形。形状控件的Shape属性决定了它的图形样式,这个属性的所有可能取值都有对应的形状样式。1.1.形状控件的常用属性形状控件的常用属性v(1)Left(1)Left、TopTop、WidthWidth和和HeightHeight属性决定形状控件的位置和属性决定形状控件的位置和大小,也可以用大小,也可以用MoveMove方法改变它的大小和位置。方法改变它的大小和位置。v(2)BorderWidth(2)BorderWidth属性设置图形边界宽度。它的值是以像素为属性设置图形

17、边界宽度。它的值是以像素为单位的边线宽度。单位的边线宽度。v(3)BorderColor(3)BorderColor属性设置图形边界颜色。属性设置图形边界颜色。v(4)BorderStyle(4)BorderStyle属性设置边界线的类型。属性设置边界线的类型。v(5)FillColor(5)FillColor属性设置图形的前景颜色。属性设置图形的前景颜色。如果要为图形填充颜色如果要为图形填充颜色( (背景背景) )时时, ,首先应该将属性首先应该将属性FillStyleFillStyle( (填充方式填充方式) )设置成设置成1(1(透明透明),),否则否则FillColorFillColo

18、r( (前前景色景色) )的颜色会遮盖了背景色的颜色会遮盖了背景色, ,达不到预期的目的。达不到预期的目的。例如例如, ,将图形的将图形的FillStyleFillStyle属性的值设为属性的值设为0(0(实心实心, ,不透明不透明),),FillColorFillColor( (填充颜色填充颜色) )为蓝色为蓝色, ,此时此时, ,不论不论BackColorBackColor为为何种颜色何种颜色, ,都被蓝色所遮盖都被蓝色所遮盖, ,如果将如果将FillStyleFillStyle改为改为1(1(透明透明),),则图形内显示背景色。则图形内显示背景色。2.2.形状控件的特有属性形状控件的特有

19、属性v(1)Shape(1)Shape属性属性该属性用来设置图形的形状。该属性用来设置图形的形状。 0Rectangle 0Rectangle 矩形矩形 1Square 1Square 正方形正方形 2Oval 2Oval 椭圆形椭圆形 3Circle 3Circle 圆形圆形 4Rounded Rectangle 4Rounded Rectangle 圆角矩形圆角矩形 5Rounded Square 5Rounded Square 圆角正方形圆角正方形vShapeShape属性的缺省值为属性的缺省值为0(0(矩形矩形) )。若选择。若选择3,3,则用则用ShapeShape控控件画出的矩形中

20、画出一个圆件画出的矩形中画出一个圆( (圆的直径是矩形的短边圆的直径是矩形的短边) )。v(2)BackStyle(2)BackStyle属性属性该属性用来设置图形背景的风格该属性用来设置图形背景的风格 0Transparent(0Transparent(透明透明) ) 1Opaque( 1Opaque(不透明不透明) )缺省值为缺省值为0 0。如果着色。如果着色, ,显然要将显然要将BackStyleBackStyle属性设置为属性设置为“不透明不透明”。v(3)FillStyle(3)FillStyle属性属性该属性用来设置图形填充的线形该属性用来设置图形填充的线形( (风格或样式风格或样

21、式) )。【例例1 1】用用ShapeShape属性显示形状控件的属性显示形状控件的6 6种形状。种形状。【例例2 2】将形状控件显示不同的形状、设置不同的颜色,将形状控件显示不同的形状、设置不同的颜色,填充不同的图案。填充不同的图案。2.2.形状控件的特有属性形状控件的特有属性二、图片框二、图片框v图片框图片框( (PictureBoxPictureBox) )控件的主要作用是为用户显示图片,也控件的主要作用是为用户显示图片,也可作为其他控件的容器。实际显示的图片是由可作为其他控件的容器。实际显示的图片是由PicturePicture属性属性决定的。决定的。1.1.特有属性特有属性v(1)P

22、icture(1)Picture属性属性PicturePicture属性用于窗体、图片框和图像框。它可通过属性属性用于窗体、图片框和图像框。它可通过属性窗口进行设置,也可在程序中进行设置,即使用窗口进行设置,也可在程序中进行设置,即使用LoadPictureLoadPicture()()函数,装入图片文件。在窗体、图片框和图像框中显函数,装入图片文件。在窗体、图片框和图像框中显示的图形以文件形式存放在磁盘上,示的图形以文件形式存放在磁盘上,VB6.0VB6.0支持以下格式支持以下格式的图形文件。的图形文件。v位图文件位图文件(Bitmap)(Bitmap)v图标文件图标文件(Icon)(Ico

23、n)v图元文件图元文件(Metafile)(Metafile)v压缩位图文件压缩位图文件(JPEG)(JPEG)v压缩位图文件压缩位图文件(GIF)(GIF)二、图片框二、图片框v(2)AutoSize(2)AutoSize属性属性图片框控件不能伸缩图像使图像适应它的大小。如果把图片框控件不能伸缩图像使图像适应它的大小。如果把图片框控件的图片框控件的AutoSizeAutoSize属性设置为属性设置为TrueTrue,那么图片框控那么图片框控件就会自动调整自身的大小以容纳整个图像。件就会自动调整自身的大小以容纳整个图像。2.2.图片框控件的特点图片框控件的特点图片框控件的最大特点是,它的表现更

24、像一个窗体对象,图片框控件的最大特点是,它的表现更像一个窗体对象,它具有许多与窗体对象相似的属性和方法。窗体的所有它具有许多与窗体对象相似的属性和方法。窗体的所有显示文本和图像的方法、作图方法以及与之相关的属性显示文本和图像的方法、作图方法以及与之相关的属性在图片框控件中都有同名的方法和属性。图片框控件有在图片框控件中都有同名的方法和属性。图片框控件有自己的坐标系统,也可以重新定义坐标系统。自己的坐标系统,也可以重新定义坐标系统。二、图片框二、图片框3.3.图形文件的装入图形文件的装入v图形文件的装入有两种方法:一种是在设计阶段装入,另一图形文件的装入有两种方法:一种是在设计阶段装入,另一种是

25、在运行期间装入。种是在运行期间装入。(1 1)在设计阶段装入图形文件)在设计阶段装入图形文件v在设计阶段装入图形文件用两种方法:在设计阶段装入图形文件用两种方法:(1)(1)用属性窗口中的用属性窗口中的PicturePicture属性装入属性装入(2)(2)利用剪切板装入利用剪切板装入(2 2)在运行期间装入图形文件)在运行期间装入图形文件vPicturePicture属性可以设置被显示的图片文件名属性可以设置被显示的图片文件名( (包括可选包括可选路径名路径名) )。在程序运行时,可以使用。在程序运行时,可以使用LoadPictureLoadPicture()()函函数,在图片框中装入图形。

26、数,在图片框中装入图形。二、图片框二、图片框vLoadPictureLoadPicture()()函数函数v格式:对象格式:对象.Picture=.Picture=LoadPictureLoadPicture(图形文件名图形文件名)v功能:在对象中装入一个图形。功能:在对象中装入一个图形。v说明:说明:(1)(1)对象可以是图片框或图像框,也可以是窗体,如果是对象可以是图片框或图像框,也可以是窗体,如果是窗体,对象名可以省略。窗体,对象名可以省略。(2)(2)如果删除一个图形,可以使用如果删除一个图形,可以使用LoadPictureLoadPicture()()函数,函数,将一个空白图形装入对

27、象的将一个空白图形装入对象的PicturePicture属性。属性。v格式:对象格式:对象.Picture=.Picture=LoadPictureLoadPicture()()v例:在图片框装入图形:例:在图片框装入图形:Picture1.Picture=LoadPicture(“d:a1.jpg”)Picture1.Picture=LoadPicture(“d:a1.jpg”)v删除图形:删除图形: Picture1.Picture=Picture1.Picture=LoadPictureLoadPicture()()二、图片框二、图片框v装入图片框中的图形,可以拷贝到另一个图片框中。假设

28、在装入图片框中的图形,可以拷贝到另一个图片框中。假设在窗体中已建立了两个图片框:窗体中已建立了两个图片框:Picture1Picture1与与Picture2Picture2,则用:则用: Picture1.Picture=Picture1.Picture=LoadPicture(CLoadPicture(C:GraphicsGraphicsIconsIconsArrowsArrowsarw06up.ico) arw06up.ico) Picture2.Picture=Picture1.PicturePicture2.Picture=Picture1.Picture可以把图片框可以把图片框Pi

29、cture1Picture1中的图形拷贝到图片框中的图形拷贝到图片框Picture2Picture2中。中。4.4.常用事件常用事件v图像框可以响应图像框可以响应ClickClick和和DblClickDblClick事件。事件。5.5.常用方法常用方法v在图片框中使用在图片框中使用ClsCls方法和方法和PrintPrint方法。方法。【例例】在窗体上交换两个图片框中的图形。在窗体上交换两个图片框中的图形。二、图片框二、图片框vPaintPicture方法方法v格式:对象格式:对象.PaintPicture Source,x1,y1,Width1,Height1,x2,y2,Width2,H

30、eight2,OpCodev说明:为图片框控件提供一个具有编辑功能的命令,使用该说明:为图片框控件提供一个具有编辑功能的命令,使用该方法可以对位图进行水平或垂直翻转,以及对图形进行拉伸、方法可以对位图进行水平或垂直翻转,以及对图形进行拉伸、压缩等操作。压缩等操作。source:被放置的源图像,必须在窗体或图片框的被放置的源图像,必须在窗体或图片框的Picture属性中设属性中设置。置。X1,y1:图像左上角在目的对象中的位置。图像左上角在目的对象中的位置。通通过改改变x1,y1的的值来来实现图片的移片的移动。Width1,Height:图像在目的对象中的位置。图像在目的对象中的位置。通通过改改

31、变目目标图片的片的宽度和高度来度和高度来实现图片的拉伸和片的拉伸和缩放。放。将将width1,height1参数的值设参数的值设为负值,可以将图片翻转。为负值,可以将图片翻转。X2,y2:源对象中开始复制图像的位置,缺省时为源对象中开始复制图像的位置,缺省时为0,即从源对象的左,即从源对象的左上角开始复制图像。上角开始复制图像。Width2,Height:要复制的区域的宽度和高度,缺省时为整个图像。要复制的区域的宽度和高度,缺省时为整个图像。二、图片框二、图片框【例】设计图片编辑器,能实现对图片进行简单的水平翻转、垂直翻转、放大、缩小等操作。二、图片框二、图片框v例:编程实现三个图片框中图片的

32、轮换,并使得一个图片框例:编程实现三个图片框中图片的轮换,并使得一个图片框中可以显示整个图片。中可以显示整个图片。v(1)界面设计)界面设计v在窗体上添加如图在窗体上添加如图1所示三个图片框控件所示三个图片框控件Picture1、Picture2、Picture3。将。将Picture3的的AutoSize属性设置为属性设置为True。其他属性值为默认值。其他属性值为默认值。(a)设计时界面设计时界面 (b)运行时界面运行时界面 (c)响应事件响应事件图图1 图片框图片框二、图片框二、图片框v(2)编写事件代码)编写事件代码v在在Form_Load()事件中加入如下代码:事件中加入如下代码:v

33、Private Sub Form_Load()v Picture1.Picture = LoadPicture(c:steamship.gif) v Picture2.Picture = LoadPicture(c:bus.gif)v Picture3.Picture = LoadPicture(c:car.gif)vEnd Subv在在Picture3_Click()事件中加入如下代码:事件中加入如下代码:vPrivate Sub Picture3_Click()v Form1.Picture = Picture3.Picture Picture3.Picture = Picture2.Pi

34、cturev Picture2.Picture = Picture1.Picture Picture1.Picture = Form1.Picturev Form1.Picture = LoadPicture()vEnd Sub三、图像框三、图像框1.1.常用属性常用属性(1)Picture(1)Picture属性属性v该属性的功能与图片框的相同。该属性的功能与图片框的相同。v在图像框控件装入图片文件的方法和使用图片的文件在图像框控件装入图片文件的方法和使用图片的文件格式也与图片框相同。格式也与图片框相同。(2)Stretch(2)Stretch属性该属性用来自动调整图像框中图形内容属性该属性

35、用来自动调整图像框中图形内容的大小,既可通过属性窗口设置,也可以通过程序代码的大小,既可通过属性窗口设置,也可以通过程序代码设置。该属性值为设置。该属性值为TrueTrue或或FalseFalse。v其属性值为其属性值为FalseFalse时,图像框可以自动改变大小以适应时,图像框可以自动改变大小以适应其中的图形。其中的图形。v其属性值为其属性值为TrueTrue时,加载到图像框中的图形,可以自时,加载到图像框中的图形,可以自动调整尺寸以适应图像框的大小。动调整尺寸以适应图像框的大小。三、图像框三、图像框2.2.常用事件常用事件图像框可以响应图像框可以响应ClickClick和和DblClic

36、kDblClick事件。事件。3.3.图片框与图像框的区别图片框与图像框的区别(1 1)图片框是容器控件,可以作为父控件,而图像框不)图片框是容器控件,可以作为父控件,而图像框不能作为父控件。能作为父控件。(2 2)图片框可以通过)图片框可以通过PrintPrint方法接收文本,而图像框不方法接收文本,而图像框不能接收用能接收用PrintPrint方法输入的信息,也不能用绘图方法在图方法输入的信息,也不能用绘图方法在图像框上绘制图形。像框上绘制图形。(3 3)图像框比图片框占用内存少,显示速度快。)图像框比图片框占用内存少,显示速度快。【例例】编写程序,模拟交通信号灯的切换。编写程序,模拟交通

37、信号灯的切换。活动二实例活动三 图形方法v图形方法有Pset、Line、Circle,本节通过使用作图方法,进行画点、画直线、画矩形、画圆、画椭圆、画圆弧等。一、一、LineLine方法方法v格式格式: :对象对象. .Line (x1,y1)-(x2,y2)Line (x1,y1)-(x2,y2), ,颜色,颜色,B BF Fv功能功能: :在窗体或图片框上画出一条直线或一个矩形。在窗体或图片框上画出一条直线或一个矩形。对象缺省时对象缺省时, ,为窗体。为窗体。v说明说明: :(1)x1,y1(1)x1,y1:画线起始点的坐标,缺省时从对象的当前画线起始点的坐标,缺省时从对象的当前位置开始画

38、。位置开始画。(2)x2,y2(2)x2,y2:画线结束点的坐标。画线结束点的坐标。(3)(3)颜色:线条的颜色,缺省时使用对象的前景色。颜色:线条的颜色,缺省时使用对象的前景色。(4)(4)如果没有参数如果没有参数B B,则是画一条直线。则是画一条直线。(5)(5)如果有参数如果有参数B B,画一个矩形,指定参数画一个矩形,指定参数F F,表示要画表示要画的是一个实心的矩形。的是一个实心的矩形。(x1,y1)(x1,y1)与与(x2,y2)(x2,y2)是所画矩形是所画矩形的左上角和右下角的坐标。的左上角和右下角的坐标。Line(500,300)-(3000,2500),RGB(255,0,

39、0)在在(500,300)与与(3000,2500)之间绘制一条红色直线。之间绘制一条红色直线。颜色函数颜色函数v1.RGB1.RGB颜色函数颜色函数RGBRGB是一个颜色函数是一个颜色函数,“R”,“R”代表代表Red(Red(红红),“G”),“G”代代表表Green(Green(绿绿),“B”),“B”代表代表Blue(Blue(蓝蓝),),通过红、绿、通过红、绿、蓝三种基本色混合产生某种颜色。蓝三种基本色混合产生某种颜色。格式:格式:RGB(RGB(红,绿,蓝红,绿,蓝) )说明:说明:v(1)(1)红、绿、蓝三种基本色使用红、绿、蓝三种基本色使用0 0255255之间的整数。之间的整

40、数。v(2)(2)从理论上来说,三种基本色混合可产生从理论上来说,三种基本色混合可产生256256256256256256种颜色,但是实际使用时受到显示硬件种颜色,但是实际使用时受到显示硬件的限制,普通显示卡只能显示的限制,普通显示卡只能显示1616种颜色。种颜色。例如:vRGB(0,0,0)RGB(0,0,0)返回黑色。返回黑色。vRGB(255,0,0)RGB(255,0,0)返回红色。返回红色。vRGB(255,0,255)RGB(255,0,255)的含义是无绿色的成分的含义是无绿色的成分, ,红和红和蓝成分相等蓝成分相等, ,效果为紫红色。效果为紫红色。v这这3 3个参数的不同值组合

41、个参数的不同值组合, ,可以产生许许多多可以产生许许多多种颜色种颜色, ,表表2 2列出了一些颜色的组合。列出了一些颜色的组合。表2 RGB颜色函数vRGBRGB函数函数 颜颜 色色vRGB(0,0,0) RGB(0,0,0) 黑色黑色vRGB(255,0,0) RGB(255,0,0) 红色红色vRGB(0,255,0) RGB(0,255,0) 绿色绿色vRGB(0,0,255) RGB(0,0,255) 蓝色蓝色vRGB(0,255,255) RGB(0,255,255) 青蓝色青蓝色vRGB(255,0,255) RGB(255,0,255) 紫红色紫红色vRGB(255,255,0)

42、 RGB(255,255,0) 黄色黄色vRGB(255,255,255) RGB(255,255,255) 白色白色2.QBColor2.QBColor函数函数vQBColorQBColor函数采用函数采用QuickBasicQuickBasic所使用的所使用的1616种颜色。种颜色。v格式:格式:QBColorQBColor( (颜色码颜色码) )v说明:说明:(1)(1)颜色码使用颜色码使用0 01515之间的整数,每个颜色码代表一种之间的整数,每个颜色码代表一种颜色。颜色。(2)RGB(2)RGB函数与函数与QBColorQBColor函数实际上都返回一个函数实际上都返回一个6 6位的

43、位的1616进进制的长整数,这个数从左到右,每两位一组代表一种基制的长整数,这个数从左到右,每两位一组代表一种基色,他们的顺序是蓝绿红。因此,也可以直接用色,他们的顺序是蓝绿红。因此,也可以直接用6 6位的位的1616进制颜色代码表示。在色彩的属性框中,可以看这些进制颜色代码表示。在色彩的属性框中,可以看这些代码。表代码。表3 3列出了列出了QBColorQBColor颜色函数。颜色函数。QBColor(2)QBColor(2)代表绿代表绿色色,QBColor(4),QBColor(4)代表红色。代表红色。表3 QBColor颜色函数颜色值颜色值 颜色颜色 颜色值颜色值 颜色颜色 0 0 黑色

44、黑色 8 8 灰色灰色 1 1 蓝色蓝色 9 9 亮蓝色亮蓝色 2 2 绿色绿色 10 10 亮绿色亮绿色 3 3 青色青色 11 11 亮青色亮青色 4 4 红色红色 12 12 亮红色亮红色 5 5 粉红色粉红色 13 13 亮粉红色亮粉红色 6 6 黄色黄色 14 14 亮黄色亮黄色 7 7 白色白色 15 15 亮白色亮白色例如:vLine(500,300)-(3000,2500),QBColor(12)Line(500,300)-(3000,2500),QBColor(12)v在在(500,300)(500,300)与与(3000,2500)(3000,2500)之间绘制一条亮红色直

45、线。之间绘制一条亮红色直线。vLine (3000,5000)Line (3000,5000)v从当前位置开始到从当前位置开始到(3000,5000)(3000,5000)画一条直线。画一条直线。vLine(500,300)-(3000,2500),QBColor(4),BFLine(500,300)-(3000,2500),QBColor(4),BFv此时画出一个内部填充红色的实心矩形。此时画出一个内部填充红色的实心矩形。二、二、CircleCircle方法方法v1.1.用用CircleCircle方法画圆方法画圆格式格式: :对象名对象名. .Circle(x,y),Circle(x,y)

46、,半径半径, ,颜色颜色功能功能: :在窗体或图片框上画圆。在窗体或图片框上画圆。说明说明:x,y:x,y:为圆心的坐标位置。为圆心的坐标位置。例如例如: :v Circle(2000,1000),500 Circle(2000,1000),500v Picture1.Circle(1000,400),500,QBColor(12) Picture1.Circle(1000,400),500,QBColor(12)2.2.用用CircleCircle方法画椭圆方法画椭圆v格式格式: :对象名对象名. .Circle(x,y),Circle(x,y),半径半径, ,颜色颜色,纵横比纵横比v功能功

47、能: :在窗体或图片框上画椭圆。在窗体或图片框上画椭圆。v说明说明: :纵横比是椭圆垂直半径与水平半径的比率。小于或大于纵横比是椭圆垂直半径与水平半径的比率。小于或大于1 1画椭圆,画椭圆,1 1画圆。画圆。v例如例如: :Circle(2000,1000),500,2Circle(2000,1000),500,2Picture1.Circle(1000,400),500,QBColor(12Picture1.Circle(1000,400),500,QBColor(12),0.5),0.5Picture1.Circle(1000,400),500,QBColor(12),1Picture1.

48、Circle(1000,400),500,QBColor(12),13.3.用用CircleCircle方法画圆弧及扇形方法画圆弧及扇形v格式格式: :对象名对象名. .Circle(x,y),Circle(x,y),半径半径, ,颜色颜色, ,起始角起始角, ,终止角终止角v功能功能: :在窗体或图片框上画圆弧及扇形。在窗体或图片框上画圆弧及扇形。v说明说明: :(1)(1)起始角与终止角起始角与终止角: :为所画圆或椭圆的起始角度与终止角为所画圆或椭圆的起始角度与终止角度度, ,单位为弧度单位为弧度, ,取值为取值为-2-222,缺省时缺省时, ,起始角为起始角为0,0,终终止角为止角为2

49、2。弧度增大方向是逆时针方向。弧度增大方向是逆时针方向。(2)(2)起始角、终止角均为正时起始角、终止角均为正时, ,则只画圆弧则只画圆弧; ;如果两者之一如果两者之一为负值时为负值时, ,不仅画圆弧不仅画圆弧, ,而且还会从圆心到负值的点画一条而且还会从圆心到负值的点画一条直线。直线。角度换算成弧度的公式为:弧度角度换算成弧度的公式为:弧度=角度角度 * 3.14/180活动三实例绘图属性绘图属性1 1、当前坐标、当前坐标CurrentXCurrentX和和CurrentYCurrentY属性:给出对象在绘图时的属性:给出对象在绘图时的当前坐标。当前坐标。说明:对象是指窗体、图形框或打印机。

50、说明:对象是指窗体、图形框或打印机。v当重新设置窗体的坐标系统时,当重新设置窗体的坐标系统时,CurrentXCurrentX和和CurrentYCurrentY的值也将自动改变,但这两个数为坐标的点的实际位的值也将自动改变,但这两个数为坐标的点的实际位置并不改变。置并不改变。v【例例】使用使用CurrentXCurrentX和和CurrentYCurrentY属性,在窗体上输出属性,在窗体上输出如图所示的立体字效果。如图所示的立体字效果。绘图属性绘图属性v2 2、线宽、线宽v(1)DrawWidth(1)DrawWidth属性属性该属性用于设置使用窗体或图片框对象的作图方法画线该属性用于设置

51、使用窗体或图片框对象的作图方法画线时以像素为单位的线宽,其取值范围在时以像素为单位的线宽,其取值范围在132 767132 767之间。之间。当当DrawWidthDrawWidth属性的值较大时,画出的线就有一定的宽度。属性的值较大时,画出的线就有一定的宽度。v(2)BorderWidth(2)BorderWidth属性属性该属性用于使用控件时定义线的宽度。该属性用于使用控件时定义线的宽度。【例例】在窗体上画一系列宽度递增的直线。在窗体上画一系列宽度递增的直线。绘图属性绘图属性v3 3、线型样式、线型样式v(1)DrawStyle(1)DrawStyle属性属性该属性决定作图方法画线时的线型

52、样式。该属性决定作图方法画线时的线型样式。v 00实线实线( (缺省缺省) )v 1 1虚线虚线v 22点线点线v 33点划线点划线v 44双点划线双点划线v 55透明线透明线( (无线无线) )v 6 6内实线内实线说明:当说明:当DrawWidthDrawWidth属性值大于属性值大于1 1并且并且DrawStyleDrawStyle属性值为属性值为1 14 4时,都能产生实线效果。时,都能产生实线效果。绘图属性绘图属性v(2)BorderStyle(2)BorderStyle属性属性该属性用于使用控件时给出画线的样式。该属性用于使用控件时给出画线的样式。v 00透明线透明线v 11实线实

53、线( (缺省缺省) )v 2 2长划线长划线v 33点线点线v 44点划线点划线v 55点点划线点点划线v 66内实线内实线绘图属性绘图属性v4 4、填充、填充v封闭图形的填充方式是由封闭图形的填充方式是由FillColorFillColor属性与属性与FillStyleFillStyle属性决属性决定的。定的。(1)FillColor(1)FillColor属性属性v该属性指定填充图案的颜色,缺省颜色与该属性指定填充图案的颜色,缺省颜色与ForeColorForeColor相同。相同。(2)FillStyle(2)FillStyle属性属性v该属性决定填充封闭图形的图案样式。该属性决定填充封

54、闭图形的图案样式。 00实心实心 11透明透明 22水平线水平线 33垂直线垂直线 44向上对角线向上对角线 55向下对角线向下对角线 66交叉线交叉线 77对角交叉线对角交叉线【例例】用用FillStyle属性指定填充的图案,属性指定填充的图案,共有共有8种图案。种图案。活动四 动画的制作v(1)改变图像的位置和尺寸;v(2)在不同的位置显示不同的图像;v(3)在相同的位置显示不同的图像;v(4)使用Move方法移动控件或图像。不论用何种方法,都必须使用计时器定时触发有关动画的事件过程,用计时器的Interval属性控件控制图像的移动频度。活动四活动四 动画的制作动画的制作v1、Move方法

55、方法v格式:对像名格式:对像名.Move (Left,.Move (Left,TopTop,WidthWidth, HeightHeight) )LeftLeft属性:指定对象的左边沿水平坐标。属性:指定对象的左边沿水平坐标。TopTop属性:指定对象的上边沿垂直坐标。属性:指定对象的上边沿垂直坐标。WidthWidth属性:指定对象的新宽度。属性:指定对象的新宽度。HeightHeight属性:指定对象的新高度。属性:指定对象的新高度。v说明说明: :(1)(1)只有只有LeftLeft参数是必须的,其他三个是可选的。参数是必须的,其他三个是可选的。(2)(2)在屏幕上移动窗体,或在窗体中移

56、动控件时,都是相在屏幕上移动窗体,或在窗体中移动控件时,都是相对于原点对于原点(0(0,0)0),原点位于左上角。当在容器中移动控,原点位于左上角。当在容器中移动控件时,使用容器的坐标系。件时,使用容器的坐标系。例:例:活动四活动四 动画的制作动画的制作v2、MouseMove事件事件v当移动鼠标光标时,在窗体或控件上发生当移动鼠标光标时,在窗体或控件上发生MouseMove事件。事件。v语法:语法:Sub Sub Object_Object_MouseMoveMouseMove(Button(Button As Integer, Shift As Integer, Shift As Inte

57、ger,X As Single, Y As Single) As Integer,X As Single, Y As Single) v说明:说明:v(1 1)ObjectObject:指对象。指对象。v(2 2)ButtonButton:指鼠标哪个按钮被按下。指鼠标哪个按钮被按下。1 1为左键,为左键,2 2为右键。为右键。v(3 3)ShiftShift:对应于对应于SHIFTSHIFT、CTRLCTRL、ALTALT键的状态。键的状态。1 1为为SHIFTSHIFT键,键,2 2为为CTRLCTRL键,键,4 4为为ALTALT键。键。v(4 4)X X,Y Y:鼠标指针当前位置。鼠标指

58、针当前位置。例:例:活动四活动四 动画的制作动画的制作v实例项目五小结v强大的图形处理能力是强大的图形处理能力是Visual Basic 6.0精髓之一,用精髓之一,用 Visual Basic 6.0来绘图既简单而且又容易,另外使用来绘图既简单而且又容易,另外使用Visual Basic 6.0还能够进行简单的图像处理和实现简单的还能够进行简单的图像处理和实现简单的动画效果。动画效果。v通过本章的学习,我们要掌握以下内容。通过本章的学习,我们要掌握以下内容。v 建立自定义坐标系的方法。建立自定义坐标系的方法。v 图片框和图像框两种控件的常用属性及其它们之间的区别。图片框和图像框两种控件的常用

59、属性及其它们之间的区别。v 简单的图像处理,包括图像的放大、缩小、移动和翻转。简单的图像处理,包括图像的放大、缩小、移动和翻转。v 线条类型、线条宽度、绘图模式、填充样式和填充颜色的线条类型、线条宽度、绘图模式、填充样式和填充颜色的设置方法,其中绘图模式的理解是本章的难点。设置方法,其中绘图模式的理解是本章的难点。v 使用绘图方法绘制常用的基本图形,包括点、直线、矩形、使用绘图方法绘制常用的基本图形,包括点、直线、矩形、圆、圆弧和椭圆。圆、圆弧和椭圆。v 使用直线控件和形状控件这两种专用绘图控件来绘制基本使用直线控件和形状控件这两种专用绘图控件来绘制基本图形。图形。v 简单动画效果的实现。简单动画效果的实现。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号