在VB6.0中播放GIF动画

页面导航:首页 > 软件编程 > vb.net > 在VB6.0中播放GIF动画

在VB6.0中播放GIF动画

来源: 作者: 时间:2016-02-05 12:32 【

摘要:由于GIF格式动画文件具有小巧、制作方便等特点,因此在网上得到广泛应用,但遗憾的是VB中的多媒体控件却无法播放它,这给我们设计VB应用程序带来了不便。在此我们向大写介

 

摘要:由于GIF格式动画文件具有小巧、制作方便等特点,因此在网上得到广泛应用,但遗憾的是VB中的多媒体控件却无法播放它,这给我们设计VB应用程序带来了不便。在此我们向大写介绍一种利用网络IE实现在VB中播放GIF动画的方法。并给出一个简捷、实用的“画中画”滚动显示程序。

GIF动画格式文件是一种动态存储的图形格式文件。在内容相同的条件下,与其它格式文件相比,由于它占用的存储空间少,且制作手段成熟,可浏览的软件工具也很多,所以倍受设计者的青睐。然而令人遗憾的是,在Visual Basic中,无论是多媒体控件MCI、MCIWnd,还是Animation控件,甚至调用Windows API函数都无法播放GIF格式的动画文件。造成这一现象的原因在于GIF动画格式文件不是VB多媒体控件所支持的视频格式文件(VB多媒体控件所支持的视频格式文件主要有:AVI格式、MOV格式、FLI格式、FLC格式等)。以往我们的解决方法是:首先利用一些格式转换工具,比如GIFMovieGear将GIF格式的动画文件转换为AVI格式的动画文件,然后再用多媒体控件MCI和MCIWnd进行播放。但这种做法主要存在以下两个缺陷:

1.所形成的AVI格式动画文件太大(常常是GIF格式文件的几十倍),从而影响的效率。

 

2.所形成的AVI格式动画文件往往带有比较复杂的调色板信息,所以当程序在播放这种AVI格式动画文件时,如果还兼有动态显示的文字和图象信息,则整个画面就会产生抖动和闪烁,从而使显示效果大受影响。

为解决这个问题,我们在此提出一个全新的处理方案:通过在VB中调用IE浏览器来实现GIF动画的播放,实际使用表明:效果甚好。

 

一、浏览器IE和WebBrowser控件

众所周知,运行VB6.0需要安装浏览器IE4.0或以上版本,当IE4.0和VB6.0安装完成后,我们便可以在VB6.0中使用IE所提供的WebBrowser控件播放GIF动画了。具体方法如下:

1.由于WebBrowser控件并不是VB的基本控件,因此在使用该控件之前必须先将其装入工具箱中。装入方法:在工具箱中点击鼠标右键→选中“部件”→复选Microsoft Internet Controls→然后点击“确定”键即可。

2.选取WebBrowser控件(注意不同版本IE的WebBrowser控件的图标是不同的,IE4.0中的WebBrowser控件的图标是一个地球;IE3.0是一个搜索图标。),添加到窗体的相应位置上。

3.设计相应代码,通过使用WebBrowser控件的Navigate方法播放GIF动画文件。

Navigate方法的语法格式为:

WebBrowser控件名.NavigateURL[Flags,][TargetFrameName,][PostData,][Headers]

WebBrowser控件支持的主要方法有:

GoBack: 回退到上一屏。

GoForward: 进入到下一屏。

GoHome: 回家。即回到主页。

Stop: 停止导航。

Refresh: 刷新。

Navigate:导航。

WebBrowser控件所响应的事件:

BeforeNavigate事件: 在开始导航前发生。一般在此获取完整的URL字符串。

WebBrowser控件最主要的参数:

URL: 获得导航用的标准URL字符串。例如:它能将”www.MicroSoft.Com”自动翻译为”http://www.MicroSoft.com”.URL是Uniform Resource Locator的缩写,是在Internet的WWW服务程序上用于指定信息位置的表示方法。

 

下面我们结合一个实例进行具体说明。这是一个“画中画”滚动显示应用程序,界面由循环滚动显示的文字、背景图象、和播放的GIF动画三部分组成。其中循环显示的文字用透明的Label控件实现;动画用WebBrowser控件实现播放。

①所需控件:

本程序需要一个PictureBox控件、一个Label控件、一个WebBrowser控件、一个Timer控件。

②各控件的属性设置如下:

控件名称属性设置值含义

Label1控件BackStyle=0设置Label1控件的背景是透明的。

Timer1控件Interval=200设置每0.2秒发生一次Timer1_Timer()事件。

③各事件的相应代码如下:

首先定义一个变量,以便用它来存放需要滚动显示的字符串。

Dim aa As String

Form_Load()事件中进行初始化工作,具体代码如下:

Private Sub Form_Load()

Picture1.Picture=LoadPicture(App.Path&"demo1.jpg")

WebBrowser1.Navigate(App.Path&" ew1.gif")

aa="这是一个利用网络浏览器IE中WebBrowser控件制作的GIF动画播放程序。"

Label1.ForeColor=QBColor(11)

Label1.FontSize=18

Label1.Caption=aa

End Sub

 

◆在Timer1_Timer()事件中,每隔0.2秒改变一次Label1控件的Caption属性值。

Private Sub Timer1_Timer()

让字符串头尾相接,以便形成滚动效果。

aa=Mid(aa,2,59)+Mid(aa,1)

Label1.Caption=aa

End Sub

◆在Picture1_Click()事件中,卸载并退出应用程序。

Private Sub Picture1_Click()

Unload Me

End Sub

④调整各控件至适当的大小和位置。

 

二、注意事项及附加说明

1.不同版本IE的MicrosoftInternetControls所包含的控件及控件数量是不同的。设计者在使用时必须注意这一点。

WINDOWS95所带的IE3.0的MicrosoftInternetControls只包含一个控件,即WebBrowser控件。

②中文版IE4.0CN的MicrosoftInternetControls包含两个控件,即WebBrowser控件和DownUp控件。

③英文版IE4.01的MicrosoftInternetControls包含两个控件,即WebBrowser控件和ShellFolderViewOC控件。

2.实际上,在VB5.0中也可以使用WebBrowser控件播放GIF动画,但如果VB5.0是安装在WINDOWS95下,那么必须安装IE3.0或IE4.0;如果是安装在WINDOWS98下,则可不必(因为WINDOWS98自带IE4.0)。然而需要特别声明的是:无论是VB5.0的联机手册,还是其它帮助文件,均未介绍有关WebBrowser控件的资料(因为WebBrowser控件不是Visual Basi

Tags:

相关文章

    文章评论

    
    <