|
|
【参加讨论】p> 在VB中提供了相当强的绘图功能, 可以在窗口或图形框中利用各种命令绘制各种图形, 灵活使用这些绘图命令不仅可以完成许多特殊的功能,
而且可以为WINDOWS 的程序界面增加许多活力, 特别是那些巧妙的随机图像则更具有特殊的魅力, 下面仅以三种随机动画为例, 演示VB中随机动画图像的风采。
一、随机简单图形动画
完成此工作主要的直接使用VB中的作图命令, 比如画 点函数PSet(X,Y),COLOR, 其中X Y为图形坐标系统的坐标,
COLOR表示颜色值,可用QBColor(x)或RGB(r,g,b)等形式表 示, 同时可以控制画点的半径长度,即通过设置Drawwidth 属性, 当半径大于1时实际上此命令是画一个实心圆,当然
也可以利用Circle命令直接绘制圆形。VB中还提供了随机 数产生手段,即RND内部函数, 它可以产生0到1之间的随机 数, 利用此函数可以随机确定画点的位置、点的颜色、点
的半径等,这样即可以实现在固定区域内进行随机画圆操 作, 其中随机位置的确定必须根据作图区域进行确定, 具 体可用 ScaleWidth及Scaleheight属性进行确定。为了实
现连续动画效果,可利用时间控件或"DoEvents" 命令实现 后台处理, 具体请见文后的Command1_Click事件中的程序 代码。如果把程序改为随机画矩形或空心圆,或者灵活控
制画圆的半径, 则会产生另外的艺术效果, 比如在一片黑 色的屏幕上画出随机的小点, 就象夜空中的点点繁星。
二、随机文字动画
在VB中可利用"Print"命令进行字符串的显示工作,此 命令一般只在当前位置显示字符串, 但具体操作时可通过
CurrentX和CurrentY 控制字符串显示位置,通过FontSize 控制字体的尺寸, 通过ForeColor和BackColor控制字符的 前景色和背景色,
如果把上述的各项属性值均采用RND 进 行随机产生, 即会形成随机字符显示效果, 比如在一个图 形框中显示一些新年贺辞, 同时播放美妙的音乐, 那将是 一份极好的新年礼物。需要注意一点,由于字体互相覆盖,
长时间显示会使窗口显得乱一些,所以最好按一定时间用 "CLS"命令进行窗口清除。此处说明一下颜色的控制技巧, 如果使用QBColor(Rnd*15)方式定义随机颜色,只能在16种
颜色中随机产生, 而采用RGB(Rnd*256,Rnd*256,Rnd*256) 方式则可以产生256*256*256种不同的颜色,但具体的颜色 特性受当前WINDOWS
屏幕模式的限制。具? 作方式请见 文后Command2_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)
如果把屏幕的底色置为暗黄色, 在此窗口内的随机位置画 出大小不一的三角锥, 就象在黄色的沙漠上建起了无数的
金字塔, 具有一种特殊的情趣。具体操作方法请见文后程 序中的Command3_Click事件中的代码。
四、随机显示图像
在VB中不仅提供了完善的做图方法, 而且在绘图方法 中还可以灵活的处理图像文件, 其中提供了一个方便的图 像复制命令即:
PaintPicture, 此命令的功能与API 函数 BitBlt类似, 但由于不用做API函数说明,所以更有它的方 便之处, 语法格式:
PaintPicture Pic,destX,destY,
destWidth,destHeight,
scrX,scrY,scrWidth,scrHeight
其中Pic:为图片对象, 如图形框Picture等;
destX,destY:目标图像位置;
destWidth,destHeight:目标图像尺寸;
scrX,scrY:原图像的裁剪坐标;
scrWidth,scrHeight:原图像的裁剪尺寸;
从以上可以看出,目标图像的位置可以随机改变,不仅如 此,通过改变destWidth与destHeight值,还可以改变复制
后的图像的尺寸, 实现放大或缩小图像显示, 甚至可以置 这两个属性为负值, 这样可使目标图像在水平方向翻转, 实现特殊效果的图像显示, 灵活运用RND 随机函数确定上
述各个参数, 可取得理想的随机图像显示效果。具体操作 方法请见文后程序Command4_Click事件中的代码。
编辑: [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:再谈“无标题栏窗口的移动技巧”
下一篇:VB中任意旋转位图的实现
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
|
|
|