?? 17(1).txt
字號(hào):
Web動(dòng)畫(huà)圖像分解在VB動(dòng)畫(huà)設(shè)計(jì)中的應(yīng)用
作者:任清珍 黃可
筆者每次瀏覽Web網(wǎng)頁(yè)時(shí),總是被許多生動(dòng)有趣的小動(dòng)畫(huà)深深吸引,十分佩服作者的想象力和制作技巧。在使用VB進(jìn)行應(yīng)用軟件開(kāi)發(fā)設(shè)計(jì)中,為使軟件的人機(jī)界面新穎友好,總想加點(diǎn)動(dòng)畫(huà)作點(diǎn)綴,但又常常苦于一幅幅動(dòng)畫(huà)圖片的繪制或?qū)ふ?因此萌發(fā)了一種奇妙的設(shè)想:能否讓W(xué)eb頁(yè)面上的動(dòng)畫(huà)在VB應(yīng)用軟件界面上活起來(lái)?幸運(yùn)的是,當(dāng)前圖像處理軟件甚多,終于將筆者的這一設(shè)想變成了現(xiàn)實(shí)。
VB動(dòng)畫(huà)設(shè)計(jì)
動(dòng)畫(huà)的制作原理很簡(jiǎn)單:首先繪制幾幅相近但又有細(xì)微變化的圖片,然后每隔一段很短的時(shí)間就依次顯示其中一幅,由于人眼視覺(jué)暫留,就能看到連貫的動(dòng)畫(huà)效果。
使用VB進(jìn)行動(dòng)畫(huà)設(shè)計(jì)非常方便,因?yàn)槠涔ぞ呦渲杏袌D像、圖片、時(shí)鐘控件。只要獲得了一幅幅動(dòng)畫(huà)單幅圖像文件,把它們放入圖像控制數(shù)組中去,便可用時(shí)鐘控件的控制屬性Interval來(lái)控制每幅圖片的顯示間隔,把最終動(dòng)畫(huà)顯示的位置確定好后,按時(shí)間間隔依次從圖像控制數(shù)組中取出一幅圖顯示。如此交替反復(fù)顯示,即可產(chǎn)生動(dòng)畫(huà)效果,編程實(shí)現(xiàn)比較簡(jiǎn)單。
VB動(dòng)畫(huà)設(shè)計(jì)所能接收的單幅圖片文件的格式有四種,即*.Bmp、*.Ico、*.Wmf和*.Dib。其中*.Bmp文件的來(lái)源最廣,不但可以使用Windows環(huán)境下的各種繪圖軟件來(lái)繪制(但費(fèi)時(shí)費(fèi)力,且不是每個(gè)人都有繪畫(huà)的天才),也可以使用Windows所提供的現(xiàn)成的位圖文件,或者用彩色掃描儀掃入等等。在此,筆者所感興趣的則是從Internet上Web站點(diǎn)網(wǎng)頁(yè)上下載自己喜愛(ài)的動(dòng)畫(huà)圖像文件,再經(jīng)過(guò)圖形軟件分解、處理成一幅幅*.Bmp圖片文件,它們會(huì)給軟件的人機(jī)界面帶來(lái)全新的感受。
Web動(dòng)畫(huà)圖像分解方法
從Web網(wǎng)頁(yè)上下載靜態(tài)圖像文件比較簡(jiǎn)單,下載后需要進(jìn)行分解。
動(dòng)畫(huà)圖像文件的分解是動(dòng)畫(huà)設(shè)計(jì)的逆過(guò)程,即把一個(gè)動(dòng)畫(huà)效果的圖像文件分解形成它的多幅圖片文件。可使用GIF Construction Set軟件打開(kāi)(此軟件可在許多服務(wù)器上下載)要分解的圖像文件,該軟件即可將動(dòng)畫(huà)自動(dòng)分解為多幅組成動(dòng)畫(huà)的單幅圖畫(huà)。
使用上述軟件分解后,首先看看是由幾幅圖畫(huà)組成的動(dòng)畫(huà),如果有N幅圖畫(huà),就把動(dòng)畫(huà)文件拷貝N份。
然后,逐個(gè)打開(kāi)拷貝文件對(duì)每個(gè)文件進(jìn)行處理,處理過(guò)程中只需在第一個(gè)文件中保留靜止的圖像,在其它文件中只保留動(dòng)畫(huà)圖像。
最后,使用具有圖形轉(zhuǎn)換功能的圖形處理軟件如Phtoshop,就可把得到的N個(gè)*.Gif圖像文件都轉(zhuǎn)換成*.Bmp文件的格式。
Web動(dòng)畫(huà)分解過(guò)程概括描述如下:
Web動(dòng)畫(huà)下載→Web動(dòng)畫(huà)分解(GIF Construction Set)→Web動(dòng)畫(huà)格式轉(zhuǎn)換(Phtoshop等)。
一個(gè)實(shí)例
這是一個(gè)在數(shù)據(jù)庫(kù)查詢窗體上設(shè)計(jì)的眼睛轉(zhuǎn)動(dòng)查看的動(dòng)畫(huà),此動(dòng)畫(huà)的每個(gè)單幅圖畫(huà)就是從Web網(wǎng)頁(yè)上下載分解得到的。
動(dòng)畫(huà)設(shè)計(jì)實(shí)現(xiàn)步驟如下:
首先,用上述方法把Web網(wǎng)頁(yè)上轉(zhuǎn)眼睛動(dòng)畫(huà)下載保存、分解、格式轉(zhuǎn)換成二幅畫(huà)Eyesl.Bmp和Eyes2.Bmp(此動(dòng)畫(huà)簡(jiǎn)單,只由二幅畫(huà)組成)。
其次,將Eyes1.Bmp和Eyes2.Bmp放入圖像控制數(shù)組中。 窗體構(gòu)造簡(jiǎn)單表示如下:
窗體屬性表如下:
程序代碼如下:
在窗體的General中聲明:
Dim Rotateflag as Integer '交替顯示標(biāo)志
Dim Currenteyes as Integer '當(dāng)前顯示第幾幅畫(huà)窗體裝載初始化:
Sub Form_Load()
Rotateflag=1 '進(jìn)入顯示(時(shí)鐘計(jì)數(shù)開(kāi)始)
Currenteyes=0 '第一幅畫(huà)定位
End Sub
交替顯示子程序(時(shí)鐘控制顯示間隔,本例為250ms):
Sub Tmrtimer_Timer()
If Rotateflag=1 Then
'交替顯示開(kāi)始 Simgeyes.Picture=Imgeyes(Currenteyes).Picture '開(kāi)始顯示第一幅畫(huà)
Currenteyes=Currenteyes+1
'250ms后顯示下一幅
If Currenteyes=2 Then
Currenteyes=0
'如果已顯示了兩幅,則再?gòu)牡谝环@示
End If
End If
End Sub
結(jié)束
利用Web網(wǎng)頁(yè)動(dòng)畫(huà)圖像分解成的多個(gè)單幅圖畫(huà),不但可以為VB動(dòng)畫(huà)設(shè)計(jì)提供方便,也可用于VC等動(dòng)畫(huà)編程。目前,Internet的范圍日益擴(kuò)大,使Web與軟件編程聯(lián)系起來(lái),無(wú)疑提高了應(yīng)用軟件的制作效率和質(zhì)量。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -