庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>VB专区>编程技巧>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

VB随机图像的魅力

 作者:本站收集   日期:2005-8-4 11:33:31
字号选择〖 〗/ 双击滚屏 单击停止   
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调用IMAGE控件实现图像缩放的一种方法  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-8-4 11:33:31
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿