VB随机图像的魅力

2008-02-23 06:52:59来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

VB提供了相当强的文字输出和绘图功能, 可以在窗口或图形框中利用各种命令显示字体或绘制各种图形。灵活使用这些命令,不仅可以完成许多特殊的功能, 而且可以为Windows的程序界面增加许多活力。下面用简单的例子演示VB中随机动画的风采。

   (一)、随机文字动画
   在VB中可利用Print命令进行字符串的显示工作,此命令一般只在当前位置显示字符串, 但具体操作时可通过CurrentX和CurrentY 控制字符串显示位置,通过FontSize控制字体的尺寸, 通过ForeColor和BackColor控制字符的前景色和背景色。 如果把上述的各项属性值均采用RND 进行随机产生, 即会形成随机字符显示效果。比如在一个图形框中显示一些新年贺辞, 同时播放美妙的音乐, 那将是一份极好的新年礼物。需要注意一点,由于字体互相覆盖,长时间显示会使窗口显得乱一些,所以最好按一定时间用“CLS"命令进行窗口清除。此处说明一下颜色的控制技巧,如果使用QBColor(Rnd*15)方式定义随机颜色,只能在16种颜色中随机产生, 而采用RGB(Rnd*256,Rnd*256,Rnd*256)方式,则可以产生256*256*256种不同的颜色。具体操作方式请见文后Command1-Click事件中的代码。
   (二)、立体图形随机动画
   虽然直接利用绘图语句即可以实现简单的动画, 但如果通过这些命令绘制成一定的立体图形, 并实行随机动画操作, 那将更具有特殊的艺术效果。比如下面两行简单的命令将画出一个具有强烈立体感效果的三角锥体,其中(M,N)为锥体的顶端坐标:

   Picture1.Line(m,n+2.5*i)-(m+i/2,n+2*i),RGB(180,180,180)

   Picture1.Line(m,n+2.5*i)-(m-i/2,n+2*i),RGB(80,80,80)

   如果把屏幕的底色置为暗黄色, 在此窗口内的随机位置画出大小不一的三角锥, 就像在黄色的沙漠上建起了无数的金字塔, 具有一种特殊的情趣。具体操作方法请见文后程序中的Command2-Click事件中的代码。

   (三)、演示程序编制过程

   文后是一个完成上述随机动画的完整演示程序,需要在From1 窗体中安放一个图形框Picture1及三个命令按钮Command1-3, 然后把下面的代码填入相应的事件处。运行此程序之后, 按下按钮1 ,则在图形框中进行随机文字显示。按下按钮 2,则在图形框中随机显示三角锥体。按下按钮3,则退出程序。此程序在Windows 95系统上VB5.0 环境下调试通过。

   ′程序准备:
   Private Sub Form-Load()
   Command1.Caption = ″随机文字″
   Command2.Caption = ″立体图形″
   Command3.Caption = ″退出″
   Form1.ScaleMode = 1
   Picture1.ScaleMode = 1
   End Sub
   ′随机文字动画
   Private Sub Command1-Click()
   Picture1.Cls
   Do
   nn = Int(45 * Rnd)
   If nn > 0 Then
   Picture1.FontSize = nn
   End If
   Picture1.CurrentX = Rnd * Picture1.ScaleWidth - 1000
   Picture1.CurrentY = Rnd * Picture1.ScaleHeight
   Picture1.ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
   Picture1.Print ″随机 OK!″
   n = n + 1
   If n > 50 Then
   n = 0
   Picture1.BackColor = QBColor(Rnd * 15)
   End If
   DoEvents
   Loop
   End Sub
   ′立体随机动画
   Private Sub Command2-Click()
   Dim m, n
   Picture1.DrawWidth = 1
   Picture1.BackColor = RGB(210, 150, 0)
   Picture1.Cls
   Do
   m = Rnd * Picture1.ScaleWidth
   n = Rnd * Picture1.ScaleHeight - 500
   For i = 0 To Rnd * 800
   Picture1.Line (m, n + 2.5 * i)-(m + i / 2, n + 2 * i), RGB(180, 180, 180)
   Picture1.Line (m, n + 2.5 * i)-(m - i / 2, n + 2 * i), RGB(80, 80, 80)
   Next i
   DoEvents
   Loop
   End Sub
   ′结束程序
   Private Sub Command3-Click()
   End
   End Sub

上一篇: VB中不规则图形热点的实现
下一篇: VB中实现图像特技(1)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:利用VB测声卡

下一篇:旋转字体