B的一个特点是绘图功能强大,如pset、line、circle等方法、还有rgb()函数能方便地对颜色进行控制。但要画出有创意的漂亮的画,还须动一番脑筋。下面展示了一个只用line方法和很少几个语句画出漂亮的旋转图形的程序。
打开VB并新建一个工程,设置form1的AutoRedraw属性为true,ScaleMode属性为3-pix。然后切换到代码编辑器并添加以下语句:
OptionExplicit
Dimc,fw,fh,x1,x2,x3,x4,y1,y2,y3,y4,a,b,i,j
PrivateSubForm_Click()
fw=Form1.ScaleWidth
fh=Form1.ScaleHeight
x1=0:y1=0:x2=fw:y2=0:x3=fw:y3=fh:x4=
0:y4=fh
Fori=1To10000
DoEvents
c=255-i*255/10000’注1
a=x1:b=y1
x1=x1 (x2-x1)/2000
y1=y1 (y2-y1)/2000
x2=x2-(x2-x3)/2000
y2=y2 (y3-y2)/2000
x3=x3-(x3-x4)/2000
y3=y3-(y3-y4)/2000
x4=x4 (a-x4)/2000
y4=y4-(y4-b)/2000
Line(x1,y1)-(x2,y2),RGB(0,c,0)
Line(x2,y2)-(x3,y3),RGB(0,c,0)
Line(x3,y3)-(x4,y4),RGB(0,c,0)
Line(x4,y4)-(x1,y1),RGB(0,c,0)
Nexti
EndSub
该程序运行结果如图1所示,像不像时空隧道?
我们可以对程序进行小小的修改,从而得到不同的图形。如将上文源代码处“注1”所示的
c=255-i*255/10000
语句改成:
c=i*255/10000你便可以得到如图2的图形,像不像某个星系?如再添上一个变量j,并把“注1”所示语句改成:
Ifc=255Thenj=-1
Ifc=0Thenj=1
c=c j
则可以得到如图3所示的图形,这个又象什么呢?
文中程序在WindowsXP、VB6下调试通过。源程序下载地:http://www.cfan.net.cn/qikan/cfan/source/0221yvb.zip。