第16章图形概要

上传人:今*** 文档编号:107089400 上传时间:2019-10-17 格式:PPT 页数:28 大小:369.50KB
返回 下载 相关 举报
第16章图形概要_第1页
第1页 / 共28页
第16章图形概要_第2页
第2页 / 共28页
第16章图形概要_第3页
第3页 / 共28页
第16章图形概要_第4页
第4页 / 共28页
第16章图形概要_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第16章图形概要》由会员分享,可在线阅读,更多相关《第16章图形概要(28页珍藏版)》请在金锄头文库上搜索。

1、第十一章 图形操作,本章要求: 1. 理解VB中坐标系的概念(重要); 2. 掌握用Line控件、Shape控件画直线、矩形、圆(弧)、椭圆的方法; 3. 掌握图片框、图象框的常用属性、常用方法、图片的载入及应用; 4. 掌握用Pset方法、Line方法、Circle方法画点、矩形、圆(弧)、椭圆的方法;,11.1 坐标系统,11.1.1 缺省坐标系统 每个容器都有一个坐标系,构成一个坐标系,需要三个要素:坐标原点、坐标度量单位、坐标轴的长度与方向。坐标度量单位由容器对象的ScaleMode属性决定。缺省时为Twip。每英寸1440个Twip,20个Twip为一磅。,原点,11.1.2 用户自

2、定义坐标系统,1、设置坐标系统的刻度单位,用户可用ScaleMode属性设置坐标系统的刻度单位。ScaleMode属性的取值及含义见表。,说明: (1)当设置容器对象(例如,窗体或图片框)的ScaleMode属性值0,将使容器对象的ScaleLeft 和 ScaleTop 自动设置为0,ScaleHeight 和 ScaleWidth 的度量单位也将发生改变。 (2)用ScaleMode属性只能改变刻度单位,不能改变坐标原点及坐标轴的方向。,2. 使用Scale属性建立自己的坐标系 (1) 重新定义坐标原点 属性ScaleTop,ScaleLeft的值用于控制对象左上角坐标,所有对象的Scal

3、eTop,ScaleLeft属性的缺省值为0,坐标原点在对象的左上角。 = N,表示将X轴向Y轴的负方向平移N个单位 ScaleTop = N,表示X轴向Y轴的正方向平移N个单位 同样,ScaleLeft的设置值可向左或向右平移坐标系的Y轴。,(2) 重定义坐标轴方向和度量单位 属性ScaleWidth,ScaleHeight的值可确定对象坐标系X轴与Y轴的正向及最大坐标值。缺省时其值均大于0,此时,X轴的正向向右,Y轴的正向向下。对象右下角坐标值为(ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)。 如果ScaleWidth的值小于0,则X轴的正向向左,如

4、果ScaleHeight的值小于0,则Y轴的正向向上。,Y,X,ScaleWidth=n ScaleHeight=m Scaleletf=0 ScaleTop=0,0,(n,m),Y,X,ScaleWidth=n ScaleHeight=-m Scaleletf=0 ScaleTop=0,0,(n,-m),将窗体的坐标系统的原点定义在其中心,X轴的正向向右,Y轴的正向向上,窗体高与宽分别为200和300单位长度。 通过ScaleTop,ScaleLeft,ScaleWidth和ScaleHeight属性实现。,Form1.ScaleLeft = -150 Form1.ScaleTop = 10

5、0 Form1.ScaleWidth = 300 Form1.ScaleHeight = -200,(-150,100),(150,-100),可在程序中使用Scale方法改变坐标系统。当Scale方法不带参数时,取消用户定义的坐标系,采用缺省坐标系。,11.2 绘图属性与事件,一、 当前坐标 CurrentX,CurrentY属性给出窗体或图形框或打印机在绘图时的当前坐标。 这两个属性在设计阶段不能使用。 使用格式: object.CurrentX = x object.CurrentY = y,注意: 当使用某些图形方法后,对象的CurrentX和CurrentY的设置值将发生变化,其具体

6、的改变见表11.3。,例 以窗体中心为原心,随机向各个方向绘200条直线。,11.2.2 线宽与线型 1设置线宽DrawWidth 属性 窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。使用格式: Object.DrawWidth = Size 其中: Object: 为对象表达式,可以是窗体、图片框和打印机对象。 Size: 为数值表达式,其范围从 1 到 32767。该值以像素为单位表示线宽。 缺省值为 1,即一个像素宽。,窗体或图形框或打印机的DrawStyle属性给出这些对象上所画线的形状。其设置值及含意见Pg.284表11.4。,2. 设置线型Dra

7、wStyle 属性,例11.3 用不同的DrawStyle 属性值,在窗体分别画一条直线。,11.2.3 图形的填充,1填充方式 FillStyle属性,下图是形状控件的FillStyle属性设置为08时的填充效果,说明: (1)FillStyle为0是实填充,1为透明方式。填充图案的颜色由FillColor属性来决定。 (2)对于窗体和图片框对象,FillStyle 属性设置后,并不能看到其填充效果,而只能在使用Circle 和 Line 图形方法生成的圆和方框时,在圆和方框中显示其填充效果。,2FillColor属性 用于设置填充形状的颜色,缺省情况下,FillColor 设置为 0(黑色

8、)。,11.2.4 AutoRedraw属性,设置和返回对象或控件是否能自动重绘。若值为True,使Form对象或PictureBox控件的自动重绘有效。对象不接受绘制事件(Paint事件)。,重绘:当改变对象大小或隐藏在另一个对象后又重新显示的情况下,重新将以前使用Print方法输出的文本信息和绘图方法绘制的图形显示出来。,11.2.5 图形颜色,在Visual Basic系统中,所有的颜色属性都由一个Long整数表示:,在代码中可使用4种方式给颜色赋值:,使用RGB函数。 使用QBColor函数,选择16种Qbasic颜色中的一种。 使用系统提供的颜色常数。 直接使用Long型颜色值。,一

9、、使用RGB函数 RGB函数可返回一个Long整数,用来表示一个RGB颜色值。其使用格式如下: RGB(red, green, blue) 说明: red, green, blue3种颜色,从0255之间的一个亮度值(0表示亮度最低,而255表示亮度最高)。 例:Form1.BackColor = RGB(255, 0, 0) 设定背景红色 二、使用QBColor函数 QBColor函数可返回一个Long值,用来表示所对应颜色值的RGB颜色码。其使用格式如下: QBColor(color) 说明: color参数是一个界于015的整型数,分别代表16种颜色,如表11.6所示。,三、使用系统定义

10、的颜色常数 在VB系统中已经预先定义了常用颜色的颜色常数,如常数vbRed就代表红色,vbGreen代表绿色等等。可“对象浏览器”中查询常数列表,表11.7是系统预定义的最常用的颜色常数。,例如,要将窗体的背景色设为红色。则可使用如下语句: Form1.BackColor = vbRed,四、直接使用颜色设置值 用十六进制数指定颜色的格式为: &HBBGGRR 其中,BB指定蓝颜色的值,GG指定绿颜色的值,RR指定红色的值。每个数段都是两位十六进制数,即从00FF。 例如, Form1.BackColor = &HFF0000 它相当于:Form1.BackColor = RGB(0, 0,

11、255),11.3 图形控件,VB中与图形有关的控件有: 图片框(PictureBox)、图像框(Image) 形状控件(Shape)、直线控件(Line)。,窗体、图形框和图像框可以显示来自图形文件的图形,1位图(bitmap):位图通常以.bmp或 .dib为文件扩展名。 2图标(icon):以.ico为文件扩展名。 3元文件(metafile):元文件的类型有两种,分别是标准型(.wmf)和增强型(.emf)。 4JPEG文件:JPEG是一种支持 8 位和 24 位颜色的压缩位图格式。它是 Internet 上一种流行的文件格式。 5GIF文件:GIF是一种压缩位图格式。它可支持多达 2

12、56 种的颜色,是 Internet 上一种流行的文件格式。,主要作用:显示图片、也可作为其他控件的容器。 1、装入图形: 图形框对象.Picture = LoadPicture(“图形文件名”) 2、删除图形 图形框对象.Picture = LoadPicture( ) 3保存图片 使用SavePicture语句,其使用格式如下: SavePicture Object.Picture|Image, FileName 注意:当Autosize属性设置为True时,图形框能自动调整大小与显示的图片匹配,11.3.1 图片框控件PictureBox,图像框比图形框占用更少的内存快。图像框内不能保存

13、其他控件。 Image控件,不是容器控件。 Image控件加载图片、删除图片、保存图片的方法: 与PictureBox控件相同 Stretch属性: 设置为False,图像框可自动改变大小以适应其中的图形。设设置True, 图形可自动调整尺寸以适应图像框的大小。,11.3.2 图像框控件Image控件。,例 Image 控件的Stretch属性的设置。,11.2.3 形状控件Shape,使用Shape控件可在窗体、框架或图片框中创建矩形、正方形、椭圆形、圆形、圆角矩形或圆角正方形等图形。 Shape控件预定义形状是由Shape属性的取值决定的。,Shape属性取不同值对应的形状,11.2.4

14、线控件Line,对于线控件来说,程序运行时最重要的属性是“X1”、“Y1”、“X2”、“Y2”属性,这些属性决定着线显示时的位置坐标,“X1”属性设置(或返回)了线的最左端水平位置坐标,“Y1”属性设置(或返回)了最左端垂直坐标,“X2”、“Y2”则表示右端的坐标。,利用线与形状控件,用户可以迅速地显示简单的线与形状或将之打印输出,与其他大部分控件不同的是,这两种控件不会响应任何事件,它们只用来显示或打印。,11.4 绘图方法,11.4.1 Pset方法,Pset方法用于画点,其语法格式如下: 对象.Pset Step (X,Y) ,颜色,例 在窗体上随机画一条不同亮度的红色彩带,然后再清除,

15、在其它位置又画一条不同亮度的红色彩带,形成彩带在垂直方向浮动的动态效果。,11.4.2 Line方法 画直线或矩形: 对象. Line Step (x1,y1)(x2,y2),颜色,BF 其中:对象可以是窗体或图形框。 (x1,y1) ,(x2,y2)为线段的起终点坐标或矩形的左上角右下坐标。颜色为可选参数,指定画线的颜色,缺省取对象的前景颜色,即ForeColor B表示画矩形,F表示用画矩形的颜色来填充矩形。 关键字Step表示采用当前作图位置的相对值,即从当前坐标移动相应的步长后所得的点为画线起点。,注意:各参数可根据实际要求进行取舍,但如果舍去的是中间参数,参数的位置分隔符不能舍去。,

16、例如: 画一条从(250,300)到(400,500)点的直线 Line (250,300)-(400,500) 从当前位置(由CurrentX,CurrentY决定)画到(400,500) Line - (400,500) 出发点是(150,250),终点是向X轴正向走150,向Y轴正向走50的点 Line (150,250) - Step (150,50) 等同于:Line (150,250) - (300,300) 画一个左上角在(20,40),右下角在(150,200)的矩形,注意在color 参数省略时,逗号并不省略。 Line (20,40) - (150,200) , , B 用红色从(20,40)到(70,110)画一个实心的矩形。 Line (20,40) - Step (50,70), RGB(255,0,0), BF,例 用Line方法在窗体上画若干个同心,并填充不同颜色的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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