VB课件汇总图形设计.09.10修订

上传人:E**** 文档编号:91252529 上传时间:2019-06-26 格式:PPT 页数:55 大小:612KB
返回 下载 相关 举报
VB课件汇总图形设计.09.10修订_第1页
第1页 / 共55页
VB课件汇总图形设计.09.10修订_第2页
第2页 / 共55页
VB课件汇总图形设计.09.10修订_第3页
第3页 / 共55页
VB课件汇总图形设计.09.10修订_第4页
第4页 / 共55页
VB课件汇总图形设计.09.10修订_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《VB课件汇总图形设计.09.10修订》由会员分享,可在线阅读,更多相关《VB课件汇总图形设计.09.10修订(55页珍藏版)》请在金锄头文库上搜索。

1、1,第10章 图形操作,10.1 坐 标 系 10.2 颜 色 10.3 图 形 控 件 10.4 绘 图 方 法 10.5 与绘图有关的常用属性、事件和方法 10.6 图 层 10.7 保存绘图结果,2,10.1 坐 标 系,在VB中,每个对象都放在它的容器内。 容器都有一个坐标系,用于定义容器中对象的位置。 VB坐标系的缺省坐标原点(0,0)在容器对象的左上角, 水平方向的x坐标轴向右为正方向, 垂直方向的y坐标轴向下为正方向, 缺省度量单位为“缇”(Twip)。,3,1用ScaleMode属性定义度量单位,取值如表,例如: Form1.ScaleMode=7,4,2用ScaleLeft和

2、ScaleTop属性定义坐标原点 ScaleLeft和ScaleTop属性用于重定义容器对象的左上角坐标,改变坐标系的原点位置。 【例10-1】自定义窗体的坐标原点,通过将图形移动到该新的原点检验原点的位置。 在窗体上添加一个图形控件Shape1,两个命令按钮Command1和Command2。运行时按下“移到默认原点”按钮将图形左上角移动到默认的坐标原点。按下“移到自定义原点”按钮重新定义坐标原点并将图形左上角移动到新的原点。,5,Private Sub Command1_Click() Shape1.Left = 0 Shape1.Top = 0 End Sub Private Sub C

3、ommand2_Click() Form1.ScaleLeft = -1500 Form1.ScaleTop = -500 Shape1.Move 0, 0 End Sub,6,3用ScaleWidth和ScaleHeight属性定义度量单位和坐标轴方向。 ScaleWidth、ScaleHeight :分别设置或返回容器内部显示区域的水平或垂直度量单位。 将其设置为负值将改变x坐标轴或y坐标轴方向。 例如,设当前窗体内部显示区域的高度是2000缇,宽度是3000缇。 如果设置ScaleHeight=500,则将窗体内部显示区域的高度划分为500个单位,每个单位为2000/500,即4缇。 在

4、使用以上方法定义了新的度量单位后,如果容器对象的实际尺寸发生变化,这一度量单位也不会改变。,7,【例10-2】将窗体的内部显示区域的宽度和高度定义为2个单位,通过移动某图形到指定的位置验证该定义。,代码设计:首先用ScaleWidth属性和ScaleHeight属性将窗体的高度和宽度都定义为2个单位,则窗体的中央位置就是坐标为(1,1)的点,8,Private Sub Command1_Click() Form1.ScaleHeight = 2 Form1.ScaleWidth = 2 Shape1.Move 1, 1 End Sub,9,3用Scale方法定义坐标系 Scale方法用于将容器

5、对象的左上角坐标定义为(x1,y1),右下角坐标定义为(x2,y2)。,对象名.Scale (x1,y1)-(x2,y2),10,4当前坐标 CurrentX设置或返回容器对象的当前水平坐标。 CurrentY设置或返回容器对象的当前垂直坐标。 例如在图片框Picture1的坐标系中,使用以下语句可以在指定的当前坐标位置打印文本“当前坐标”: Picture1.CurrentX = 1 Picture1.CurrentY = 1 Picture1.Print “当前坐标“,11,5与位置和大小有关的属性,12,改变对象的Left、Top、Width和Height属性将改变对象的位置和大小, 改

6、变对象的ScaleLeft、ScaleTop、ScaleHeight和ScaleWidth属性只是改变了对象的坐标系,而不改变对象的位置或大小。,13,10.2 颜 色,VB用一个四字节的长整型数来代表颜色值,其中最低的3个字节分别对应于构成颜色的三原色,即红色、绿色和蓝色。如果用十进制表示,则每个字节的取值范围从0到255。通过合理地调配三原色所占的比例,可以得到丰富多彩的颜色。 1在设计阶段设置颜色 对象的属性窗口与颜色有关的属性的名称都带有“Color”。在属性值处有一个下拉箭头,单击就会弹出颜色对话框。,14,2在运行阶段设置颜色 (1)使用RGB函数。返回一个长整型的颜色值。,RGB

7、(red,green,blue),例如,将窗体的背景色设置为红色,可以写成: Form1.BackColor = RGB(255, 0, 0),15,(2)使用QBColor函数。返回一个长整型颜色值。,QBColor(value),例如,Form1.BackColor = QBColor(4),16,(3)使用颜色常量。VB将经常使用的颜色值定义为系统内部常量。,例如,将窗体的背景色设置为红色,可以写成: Form1.BackColor=vbRed,17,(4)使用颜色的十六进制表示值。用户可以直接使用该十六进制数为颜色属性赋值。该十六进制数表示为:,例如,将窗体的背景色设置为红色,可以写成

8、: Form1.BackColor = &H000000FF&,18,(5)使用系统颜色。VB允许在应用程序中直接引用系统的颜色来设置窗体和控件的颜色属性,如果改变了系统颜色,应用程序中被引用的相应颜色也会随着变化。 在VB中,系统颜色有两种表示方法: 用系统内部常量表示; 用十六进制的四字节长整型数表示。 用十六进制表示的系统颜色值的第1个字节为80,其余字节指定的是一种系统颜色。例如,选择“活动标题栏”颜色,所产生的颜色值为&H80000002&。而选择“非活动边框”的颜色,所产生的颜色值为&H8000000B&。,19,10.3 图 形 控 件,10.3.1 Shape控件 用于在窗体或

9、图片框上绘制常见的几何图形。 通过设置Shape属性可以画出多种图形。,20,10.3.2 Line控件 用于在容器对象中画直线。 直线起点坐标的属性为x1、y1, 直线终点坐标的属性为x2、y2。 属性: BorderColor返回或设置图形边框或线条的颜色; BorderWidth返回或设置图形边框或线条的宽度; BorderStyle返回或设置图形边框或线条的样式。,21,22,注意,当BorderStyle属性为“0”(透明)时,将忽略BorderColor和BorderWidth属性的设置值。 当BorderWidth为1时,BorderStyle属性设置为1(实线)和6(内收实线)

10、看上去效果相同,为了比较这两个值的区别,在窗体上画一个Shape控件Shape1,设置其BorderWidth值为20,BorderColor为黄色,BorderStyle值1,复制该控件,形成另一个控件Shape2,将Shape2的BorderStyle属性设置为6,用鼠标单击这两个控件时可以看出其边框的位置。,23,【例10-4】设计一个简单的秒表。,Shape1,24,代码设计:在窗体模块的通用声明段声明变量arph,用于表示秒针旋转角度。 Dim arph 表示秒针旋转角度(用弧度表示) Private Sub Form_Load() Timer1.Enabled = False 关闭

11、定时器 Timer1.Interval = 1000 设定时时间为1秒 Picture1.Scale (-1, 1)-(1, -1) 定义图片框坐标系 Line1.X1 = 0: Line1.Y1 = 0 将秒针起点移动到原点 Line1.X2 = 0: Line1.Y2 = 0.7 将秒针的另一端移动到正上方,指向0 arph = 0 旋转角度为0 End Sub,25,Private Sub Command1_Click() Timer1.Enabled = True 启动定时器 End Sub Private Sub Timer1_Timer() 每隔1秒旋转一次秒针 arph = ar

12、ph + 3.14159265 / 30 旋转角度增加6 以下语句将秒针的另一端移动到旋转后的位置 Line1.Y2 = 0.7 * Cos(arph) Line1.X2 = 0.7 * Sin(arph) End Sub Private Sub Command2_Click() “停止”按钮 Timer1.Enabled = False 关闭定时器 End Sub,26,10.4 绘 图 方 法,使用容器对象的PSet、Line和Circle方法,可以更加灵活地在容器中绘制各种图形。 10.4.1 PSet方法 在容器对象的指定位置用特定的颜色画点。,对象名.PSet Step (x,y)

13、,颜色,【例10-5】编写代码实现:运行时单击窗体用PSet方法在窗体上绘制一条0,360的正弦曲线。,27,Private Sub Form_Click() Scale (0, 1)-(360, -1) 定义坐标系 DrawWidth = 2 定义点的大小 For x = 0 To 360 y = 0.9 * Sin(x * 3.1415926 / 180) PSet (x, y), vbRed 在窗体的坐标(x,y)处画红色点 Next x End Sub,28,10.4.2 Line方法 Line方法用于画直线和矩形。,对象名.Line Step (x1,y1)Step (x2,y2)

14、,颜色,BF,执行Line方法后,当前坐标被设置在终点坐标(x2,y2)。画连续直线时,可以将前一条直线的终点作为后一条直线的起点。线的宽度取决于容器对象的DrawWidth属性值。,29,【例10-7】使用Line方法绘制矩形的功能画一个黑白格相间的棋盘。 代码设计:本例假设棋盘有10行10列,因此可以首先用Scale方法将窗体的高度和宽度划分成10个单位。为了实现黑白相间的效果,在代码中引入一个标志变量Flag,当Flag为1时,用白色画矩形,当Flag为-1时,用黑色画矩形。在Line方法中使用BF参数指定画填充矩形。,30,Private Sub Form_Click() Scale

15、(0, 0)-(10, 10) 定义窗体宽度和高度为10个单位 Flag = 1 For i = 0 To 9 Flag = Flag * (-1) For j = 0 To 9 X1 = i: Y1 = j 设置小矩形的左上角坐标 X2 = i + 1: Y2 = j + 1 设置小矩形的右下角坐标 If Flag = -1 Then C = vbWhite Else C = vbBlack End If Line (X1, Y1)-(X2, Y2), C, BF 画矩形 Flag = Flag * (-1) Next j Next i End Sub,31,10.4.3 Circle方法

16、Circle方法用于在容器对象上画圆形、椭圆形、圆弧和扇形,对象名.Circle Step(x,y),半径,颜色,起始角,终止角,纵横比,【例10-8】使用Circle方法绘制如图10-12所示的艺术图案。该艺术图案由一系列的圆组成,这些圆的圆心在另外一个固定圆(轨迹圆)的圆周上。,32,分析:使用缺省的坐标系统,设轨迹圆的圆心坐标为(x0,y0),将该圆30等分,以圆周上的每一个等分点为圆心画圆,圆心的坐标为(x0+r*Cos(i),y0-r*Sin(i)),其中,i为等分点和(x0,y0)的连线与x轴正方向之间的夹角(以弧度为单位),r为轨迹圆的半径。,33,Private Sub Form_Click() Const pi = 3.14159265 Dim x

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

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

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