VB 程序设计

10个成员

Web动画图像分解在VB动画设计中的应用

发表于 2016-12-19 3323 次查看
笔者每次浏览Web网页时,总是被许多生动有趣的小动画深深吸引,十分佩服作者的想象力和制作技巧。在使用VB进行应用软件开发设计中,为使软件的人机界面新颖友好,总想加点动画作点缀,但又常常苦于一幅幅动画图片的绘制或寻找!因此萌发了一种奇妙的设想:能否让Web页面上的动画在VB应用软件界面上活起来?幸运的是,当前图像处理软件甚多,终于将笔者的这一设想变成了现实。

VB动画设计

动画的制作原理很简单:首先绘制几幅相近但又有细微变化的图片,然后每隔一段很短的时间就依次显示其中一幅,由于人眼视觉暂留,就能看到连贯的动画效果。

使用VB进行动画设计非常方便,因为其工具箱中有图像、图片、时钟控件。只要获得了一幅幅动画单幅图像文件,把它们放入图像控制数组中去,便可用时钟控件的控制属性Interval来控制每幅图片的显示间隔,把最终动画显示的位置确定好后,按时间间隔依次从图像控制数组中取出一幅图显示。如此交替反复显示,即可产生动画效果,编程实现比较简单。

VB动画设计所能接收的单幅图片文件的格式有四种,即*.Bmp、*.Ico、*.Wmf和*.Dib。其中*.Bmp文件的来源最广,不但可以使用Windows环境下的各种绘图软件来绘制(但费时费力,且不是每个人都有绘画的天才),也可以使用Windows所提供的现成的位图文件,或者用彩色扫描仪扫入等等。在此,笔者所感兴趣的则是从Internet上Web站点网页上下载自己喜爱的动画图像文件,再经过图形软件分解、处理成一幅幅*.Bmp图片文件,它们会给软件的人机界面带来全新的感受。

Web动画图像分解方法

从Web网页上下载静态图像文件比较简单,下载后需要进行分解。

动画图像文件的分解是动画设计的逆过程,即把一个动画效果的图像文件分解形成它的多幅图片文件。可使用GIF Construction Set软件打开(此软件可在许多服务器上下载)要分解的图像文件,该软件即可将动画自动分解为多幅组成动画的单幅图画。

使用上述软件分解后,首先看看是由几幅图画组成的动画,如果有N幅图画,就把动画文件拷贝N份。

然后,逐个打开拷贝文件对每个文件进行处理,处理过程中只需在第一个文件中保留静止的图像,在其它文件中只保留动画图像。

最后,使用具有图形转换功能的图形处理软件如Phtoshop,就可把得到的N个*.Gif图像文件都转换成*.Bmp文件的格式。

Web动画分解过程概括描述如下:

Web动画下载→Web动画分解(GIF Construction Set)→Web动画格式转换(Phtoshop等)。

一个实例

这是一个在数据库查询窗体上设计的眼睛转动查看的动画,此动画的每个单幅图画就是从Web网页上下载分解得到的。

动画设计实现步骤如下:

首先,用上述方法把Web网页上转眼睛动画下载保存、分解、格式转换成二幅画Eyesl.Bmp和Eyes2.Bmp(此动画简单,只由二幅画组成)。

其次,将Eyes1.Bmp和Eyes2.Bmp放入图像控制数组中。 窗体构造简单表示如下:

窗体属性表如下:

程序代码如下:

在窗体的General中声明:

Dim Rotateflag as Integer '交替显示标志

Dim Currenteyes as Integer '当前显示第几幅画窗体装载初始化:

Sub Form_Load()

Rotateflag=1 '进入显示(时钟计数开始)

Currenteyes=0 '第一幅画定位

End Sub

交替显示子程序(时钟控制显示间隔,本例为250ms):

Sub Tmrtimer_Timer()

If Rotateflag=1 Then

'交替显示开始  Simgeyes.Picture=Imgeyes(Currenteyes).Picture '开始显示第一幅画

Currenteyes=Currenteyes+1

'250ms后显示下一幅

If Currenteyes=2 Then

Currenteyes=0

'如果已显示了两幅,则再从第一幅显示

End If

End If

End Sub

结束

利用Web网页动画图像分解成的多个单幅图画,不但可以为VB动画设计提供方便,也可用于VC等动画编程。目前,Internet的范围日益扩大,使Web与软件编程联系起来,无疑提高了应用软件的制作效率和质量。

 

发表回复
你还没有登录,请先登录注册