VB绘图.txt35温馨是大自然的一抹彩,独具慧眼的匠师才能把它表现得尽善尽美;温馨是乐谱上的一个跳动音符,感情细腻的歌唱者才能把它表达得至真至纯VB画图语句
使用图形方法能使图形设计更方便,并减少程序代码。用图形方法创建图形是在程序代码中进行的,绘图效果需在运行应用程序时才能看到。对于界面设计中的简单绘图,图形方法不能代替图形控件的作用。利用以下方法可做出各种各样的图形,下面简单介绍这些图形方法的作用与使用方法。
7.2.1用Pset方法画点
画出单个像素即画点。画点是最简单的图形操作。 VB 6 . 0 用 Pset 方法在指定位置处画点,并可以设置该点像素的彩。
语句格式:[对象名.] Pset(x,y)[, < 颜 >]
功能:在指定对象上的指定位置画指定颜的点。
说明:
( 1 )对 象名指窗体或图片框。缺省时为窗体。
( 2 )参数 x 和 y 指定点的位置坐标,是单精度参数,可以接受整数或分数的输人。该参数的输人可以是任何含有变量的数值表达式。 例如,执行下面语句:
Picturel.Pset(1500,2000)
则在图片框 Picture1中(1500,2000)处画一个点
( 3 )如果缺省<颜>参数,则将点设置为前景。选择<颜>参数可以将点设置为指定的颜。该参数可以引用 QBColor 函数或 RGB 函数产生的颜。例如,以下语句在当前窗体画亮蓝的点。
Pset ( 1500 , 2000 ) ,RGB ( 0 , 0 , 255 )
若需要“擦除”一点,只要把该点的颜设置为背景即可。
Pset ( 1500 , 2000 ) , BackColor
7.2.2用Line方法画线和矩形
1.用Line方法绘制直线
为了在两点之间绘制一条直线,除了使用直线控件外, VB还提供了Line方法。
语法格式:[对象.] Line [[ Step ]( xl , y1 )]一[ Step ]( x2 , y2 ) [ ,颜 ]
功能:在对象上的两个指定点之间画一条指定颜的直线。
说明:
对象是指窗体、图片框等,缺省指窗体。
第一个 Step表示它后面的一对坐标是相对于当前坐标的偏移量,第二个Step表示它后面的一对坐标是相对于第一对坐标的偏移量。
( 3) 如果不指定颜则使用所在控件的前景作为直线的颜。当然也可以为直线指定其他颜
例如:
Line(1000,1000)-(2000,2000)
Line-(4000,4000)
Picturel.Line(100,500)-Step(1000,350)
Forml.Line Step(200,200)- Step(800,1000)
Line(500,200)-(3000,3500),QBColor(12)
上述五行命令使用 Line方法的不同形式画直线。
第一行命令是在起点(1000,1000)与终点(2000,2000)之间绘制一条直线。
第二行命令Line-(3000,3000)中只有直线的终点坐标,没有起点坐标。V
B规定,如果没有指定起始坐标,则以“当前点”作为直线的起始坐标。如果前面未执行过Line或Pset,则以(0,0)为“当前点”。现在已执行过一次Line方法;在执行完第一行后,“当前点”为(2000,2000),故执行“ Line 一(4000,4000)”方法时,将从(2000,2000)到(4000,4000)画一直线。
第三行命令(Picture1.Line(100,500)-Step(1000,350))是在指定对象图片框Picturel上的(100,500)与(1100,850)之间画一条直线。我们注意到它的第二个坐标之前有一个“Step”,表示“Step”后面的一对坐标是相对于第一个坐标所偏移的大小,所以终点坐标应为起点坐标与偏移量之和,即(100+1000,500+350),也就是(100,850)。
第四行命令是在名为Forml 的窗体上画一条直线,给出两点的相对坐标为(200,200)和(800,1000)。两个坐标的前面都有Ste p 参数。第一个坐标前面的 Step参数,表示Step后面的一对坐标是相对于当前坐标的偏移量。
注意;第三行是在图片框中画线,而第四行要求在窗体中画线。因此;这个当前坐标是针对窗体Forml而言的,它应该是执行第二行命令后的终点坐标(4000,4000),所以起点坐标为(4000+200,4000+200)(4200,4200),而终点坐标则为(4200+800,4200+1000)。第五行命令是在(500,200)与(3000,3500)之间绘制一条红的直线。
2 . 用 Line方法绘制矩形
语法格式:[对象.] Line [[ Step ]( xl , y1 )]一[ Step ]( x2 , y2 ), [ 颜 ] , B[F]
功能:在对象上以指定的 ( x1,y1)与(x2,y2) 作为 矩形的左上角和右下角的坐标,参数 B表示要画一个矩形,参数F是指画一个实心的矩形。注意F与B两个参数之间没有逗号。
例如,以下语句可在对象中画出一个矩形。
Line ( 500 , 500 )— Step ( 1000 , 1000 ) ,,BF 在该语句中,选项 B 之前有两个逗点,表示颜参数被省略了。
用 Line 方法画矩形时,还要注意对象 FillStyle 和 FillColor 属性的设置。 FillStyle 属性的默认值是 1 ,即为透明,画出的方框内部是空的。将 Fillstyle 属性值设置为 0 ,可以通过 FillColor 属性的颜设置将矩形填充为实心。
若在 B 参数后使用 F 参数(注意:没有 B 参数就不能用 F 参数)时, Line 方法将忽略 FillColor 和 FillStyle 属性。使用 F 参数时,矩形总是被填充为实心。
7.2.3用Circle方法画圆、椭圆和圆弧
使用 Circle方法可以绘制出圆、椭圆、圆弧及扇形。
用 Circle方法绘制圆
语法格式: [对象.]Circle [Step](x,y), <;半径>[,颜]
功能:以 (x,y)为圆心,以<;半径>为半径画圆。
例如:
Circle(2000,1000),500
Circle Step(200,300),800
Picturel.Circle(500,400
),200,QBColor(12)
第一行以(2000,1000)为圆心 以500为半径在窗体上画一个圆。第二行使用了Step,
说明圆心坐标要在当前坐标值基础上加上 Step后面的增量;假如,当前坐标为(100,100),
则圆心坐标为( 100+200,100+300),即(300,400)。以此为圆心,以800为半径画一圆。
第三行是以( 500,400)为圆心,以200为半径,在名为Picturel的图片框上画一个亮红的圆。
2. 用Circle方法绘制椭圆
只要加上一个参数就可以用 Circle方法绘制出椭圆。
语法格式: [对象.]Circle[Step](x,y),[颜],,,纵横比
功能:椭圆两个轴长之比,即纵横比,它决定了椭圆的形状。如果纵横比的值大于 1,绘制出的椭圆为细而高的形状,如果纵横比的值小于1,绘制出的椭圆是扁平状,如果纵横比等于1,就绘制出一个圆
例如:
Circle(1000,1200),800,QBColor(12),,,2
Circle(800,500),800,,,,0.5
第一个语句中的2和第二个语句中0.5是纵横比
简单的vb程序代码3. 用Circle方法绘制圆弧及扇形
圆周的一部分就是圆弧,如果从圆心连接两条直线到圆弧的两端,就是一个扇形。用画圆的方法Circle来画圆弧及扇形非常容易,只要加上起始角和终止角即可。
语法格式: [对象.]Circle[Step](x,y),半径,,[颜][起始角][,终止角][,纵横比]
功能:从起始角按逆时针方向画圆弧直到终止角处。当纵横比为 1时 画出来的是一段圆弧,当纵横比不等于1时,画出一段椭圆弧。
例如:
Circle(2000,2000),1000,,31416/2,0
Circle Step(200,300),1000,,-l,-4
Circle(800,900),800,QBColor(12),0.5,-3
第一行以( 2000,20O0)为圆心,100O为半径画圆弧,按逆时针方向从 3.14 56/2到 0画一圆弧。
若起始角和终止角均为负值时,画一个扇形。第二行,圆心是从“当前位置”向右移200,向下移300,半径为1000,从1弧度到4弧度画一个扇形。
如果起始角和终上角一个为正,一个为负,则从圆心到负号的那个角处连一条线,第三行是以(800,900)为圆心,800为半径,从0.5弧度到3弧度处作一圆弧,从圆心到3弧度处画一直线,颜为亮红。
用画圆的方法在图像框上画一个太极图。
程序代码如下:
Private Sub Picture1_Click()
pi = 3.1415926
pw= Picture1.Width
ph= Picture1.Height
Picture1.FillStyle = 0
Picture1.FillColor = QBColor(7)
Picture1.Circle (pw / 2, ph / 2), ph / 2
Picture1.Circle (Pw / 2, Picture1.Height / 4), Ph / 4, , pi / 2, 3 * pi / 2
Picture1.Circle (Pw / 2, 3 * Ph / 4), Ph / 4, , 3 * pi / 2, pi / 2
Picture1.FillStyle = 0
Picture1.FillColor = QBColor(0)
Picture1.Circle (Pw / 2, Ph/ 4), 200
Picture1.Circle (Pw / 2, 3 * Ph / 4), 200
End Sub
另外,可用 Cls方法来清除窗
体。
格式:[对象.] Cls
功能:清除所有图形和 Print输出。
说明 对象指窗体、图片框等,缺省为窗体。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论