vb程序设计第九章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:利用Shape控件数组产生奥林匹克的五环旗 9.4 图形方法 9.4.1 Line方法 Line方法用于画直线或矩形,其语法格式为:
[对象.]Line[[Step](x1,y1)]-(x2,y2)[,颜色],B[F]]
其中: 对象:指示Line在何处产生结果,它可以是窗体或 图片框或打印机 (x1,y1)为线段的起点坐标或矩形的左上角坐标 (x2,y2)为线段的终点坐标或矩形的右下角坐标
9.3.3 Line控件(画线工具) Line控件可以用来画线。设计时Line控件最重要 的属性是BorderWidth和BorderStyle属性。 BorderWidth属性确定线的宽度, BorderStyle属 性确定线的形状。 运行时Line控件最重要的属性是x1,y1和x2,y2,它 们控制线的两个端点的位置。 9.3.4 Shape(形状) Shape控件可以用来画矩形、正方形、椭圆、圆角 矩形及圆角正方形。通过Shape属性可确定所需的 几何图形。FillStyle属性为形状控件指定填充的 图案。
最下层
由图形方法所绘制的图形
9 .2 绘图属性 9.2.1 当前坐标 窗体或图形框或打印机的CurrentX、CurrentY属性 给出这些对象在绘图时的当前坐标。这两个属性 在设计阶段不能使用。当坐标系确定后,坐标值 (x,y)表示对象上的绝对坐标位置。如果在坐标值 前加关键字Step,则坐标值(x,y)表示对象上的相对 坐标位置,即从当前坐标分别平移x,y个单位,其 绝对坐标值为( CurrentX+x, CurrentY+y)。 注意: 当使用Cls方法后, CurrentX,CurrentY属性值为0
例如语句: Form1.ScaleMode = 7
9.1.2 自定义坐标系统 在 VB 中允许用户自己定义对象的坐标系统,即通过 坐标属性或坐标方法重新定义对象的坐标系统。 1.用坐标属性定义坐标系统 可以使用对象的ScaleLeft、ScaleTop、ScaleWidth 和 ScaleHeight 四个属性,来创建自定义刻度。
例:用Print方法在窗体上随机打印100个“*”。 根据窗体的Width和Height属性,用Rnd函数产生 CurrentX,CurrentY的值。 程序如下:
9.2.2 线宽与线型
窗体、图形框或打印机的DrawWidth属性给出这些对象上 所画线的宽度或点的大小。以象素为单位,最小值为1。 线宽:DrawWidth =属性值 线型:DrawStyle=属性值 设置如下: DrawStyle属性设置 属性设置
关键字Step表示采用当前作图位置的相对值 关键字B表示画矩形 关键字F表示用画矩形的颜色来填充矩形.F必须与 关键字B一起使用,默认F,则矩形的填充由 FillColor和FillStyle属性决定. 例:用Line方法在窗体上画出如图所示随机射线
9.4.2 Circle方法 Circle方法用于画圆、椭圆、圆弧和扇形,其语法格式: [对象.]Circle [[Step](x,y),半径[,颜色][,起始角][, 终止角][,长短轴比率]]] 其中: (x,y)为圆心坐标 圆弧和扇形通过参数起始角、终止角控制: 当起始角、终止角在0~2时为圆弧, 当起始角、终止角取值前家负号时,画出扇形,负 号表示画圆心到圆弧的径向线。 椭圆通过长短轴比率控制:默认值为1时 画出的是圆 例:用Circle方法画出不同的图形
Line -(ScaleWidth + ScaleLeft, y)
Line -(x, ScaleHeight + ScaleTop) Line -(ScaleLeft, y) End Sub Private Sub Form_Resize()
Refresh
End Sub
ScaleMode属性设置
FillStyle属性指定填充的图案
VB默认采用对象的前景色(ForeColor属性)绘图, 也可以通过以下颜色函数指定色彩。 1、RGB函数 RGB函数通过红、绿、蓝三基色混合产生某种颜 色。
格式为: RGB(红,绿,蓝) 其中:红,绿,蓝三基色的成分使用0~255之间的 整数。 2、QBColor函数 QBColor函数采用QuickBasic所使用的16种颜色, 其语法格式为: QBColor(颜色码) 其中颜色码使用0~15之间的整数,每个颜色码代 表一种颜色。 例:演示颜色的渐变过程
2.坐标刻度与单位 沿坐标轴定义位置的测量单位,统称为刻度。坐标 轴的方向、起点和坐标系统的刻度,都是可以改变的 ,可用对象的刻度属性和Scale方法,设置特定对象( 窗体或控件)的坐标系统。
ScaleMode :决定对象坐标的度量单位,共有8 种单位形式。如图: 注意:ScaleMode属性默认值为:twip(缇) 1英寸=1440缇 1厘米=567缇 1缇=0.001763cm
3.颜色属性 ⑴ BackColor 属性,用于为绘画的窗体或控件设置背景颜 色。如果在绘图方法进行绘图之后改变 BackColor 属性, 则已有的图形将会被新的背景颜色所覆盖。 ⑵ ForeColor 属性,设置绘图等方法在窗体或控件中创建 文本、图形的颜色。改变 ForeColor属性不影响已创建的 文本或图形。 ⑶BorderColor属性,给图形控件(Line和Shape)的边框设 置颜色。 ⑷ FillColor 属性,为用 Circle 方法创建的圆和用 Line 方法创建的方框,设置填充颜色。
9.3.1、PictureBox(图形框) 图形框控件的主要作用是为用户显示图片,也 可以作为其他控件的容器。显示的图片可由 Picture属性设置或在程序代码中使用LoadPicture ()在图形框中装入图片。
图片框对象名.Picture=LoadPicture(“图形文件名”)
图形框的Autosize属性设置为True时,图形框能 自动调整大小与显示的图片匹配。 9.3.2 Image (图象框) 使用步骤与图形框相同,但图象框占用更少的内 存,描绘得更快。与图形框不同的是图象框不能 保存其他控件。 图像框的Stretch属性设置为True时,加载到图像 框的图形可以自动调整尺寸大小以适应图像框的 大小,当Stretch属性设置为False时,图象框会 自动调整大小以适应其中的图形。 例:演示图形的加载以及Autosize属性和Stretch 属性
注意:除了使用Scale方法外,还可以通过前面讲 的设置对象的ScaleTop, ScaleLeft, ScaleHeight, ScaleWidth四项属性来定义坐标系。 9.1.3 图形层 VB在构造图形时,在三个不同的屏幕层次上放置 图形的可视组成部分。
图形层放置的对象 层次 最上层 中间层 对 象 类 型 工具箱中除标签、线条、形状外的控件对象 工具箱中标签、线条、形状控件对象
9.4.3 Pset方法 Pset方法用于在窗体、图形框或打印机指定位置 上画点。其语法格式为: [对象.]Pset[Step](x,y)[,颜色] 其中: 参数(x,y)为所画点的坐标。 小提示:采用背景色可以清除某个位置上 的点。 例:用Pset方法画点
9.4.4 Cls方法
Cls方法用于清除对象中由图形或打印语句在运行 时所生成的图形和文本。 颜色,其语法格式为: [对象.] Cls
2.使用坐标方法定义坐标系统 一个更有效的改变坐标系统的途径,不是设置 个别属性,而是使用坐标方法 Scale 定义对象的 坐标系统。 Scale方法其语法如下: [对象.]Scale [(xLeft,yTop)-(xRight,yBotton)] 其中: 对象可以是窗体、图形框或打印机。如果省 略,则为带有焦点的窗体对象。 (xLeft,yTop)表示对象左上角的坐标值, (xRight,yBotton)表示对象右下角的坐标值。 可以根据给定参数,计算出相应的对象的几个 与坐标有关的属性值
9.4.5 绘图语句与Paint事件 将所有的有图形方法的绘图语句放在Paint事件中, 当窗体最小化后恢复正常大小,可以使图形得以 重现。(或者通过AutoReDraw属性进行设置)。
Private Sub Form_Paint() Dim x, y x = ScaleLeft + ScaleWidth / 2 y = ScaleTop + ScaleHeight / 2 Line (ScaleLeft, y)-(x, ScaleTop)
属性设置 0 1 Tiwp(默认值) 说明
用户定义(User) 磅(point),每英寸72磅
象素(pixed,与显示器分辨率有关)
2 3认为高12磅,宽20磅的单位) 英寸(inch) 毫米(millimeter) 厘米(centimiter)
9.3 图形控件
VB提供了4个基本控件以简化与图形有关的操作, 它们是:PictureBox控件,Image控件,Shape控 件和Line控件。
VB提供的图形框和图象框可以显示: 位图(.bmp,.dib)、图标(.ico)、图元文件中的图形 (.wmf,.emf),也可以处理GIF和JPEG格式的文件。
Scaletop:控制容器对象顶端的坐标 Scaleleft:控制容器对象左边的坐标 这两个属性值可形成坐标 例: Form1.ScaleLeft = -250: Form1.ScaleTop = 250 ScaleHeight:决定对象内部水平方向的单元数 ScaleWidth:决定对象内部垂直方向的单元数
0 1 2 3 4 5 6
线型
实线(默认) 长划线 点线 点划线 点点划线 透明线 内实线
图示
以上线型仅当DrawWidth属性值为1时才能产生。 如果使用控件(如Shape控件,Line控件),则通 过BorderWidth属性定义宽度和点的大小, 而BorderStyle属性给出所画线的形状 9.2.3 填充与色彩 封闭图形的填充方式由FillStyle、FillColor这 两个属性设置。 FillColor:指定填充图案的颜色、默认的颜色 与 ForeColor相同 FillStyle:指定填充的图案,共有8种图案,属性 设置如图:
第九章
图形操作
9.1 图形操作基础 9.1.1 坐标系统 在VB中,每个对象定位于存放它的容器内,对象定 位都要使用容器的坐标系。每个容器都有一个坐标 系。构成一个坐标系的三要素是: 坐标原点、 坐标度量单位、 坐标轴的长度与方向。
1.坐标的概念 坐标系统是一个二维网格,使用窗体中的坐标,可定 义网格上的位置:(x, y)