利用Java制作網(wǎng)頁(yè)水面特效_第1頁(yè)
利用Java制作網(wǎng)頁(yè)水面特效_第2頁(yè)
利用Java制作網(wǎng)頁(yè)水面特效_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、利用 Java 制作網(wǎng)頁(yè)水面特效Water special effects on Webpage using JavaWang Zhida( Ningbo Polytechnic ,Ningbo ,Zhejiang 315800,China ): The implementing project of making water special effects on webpage using Java is introduced. The related technique method and programming are discussed in detail , with some a

2、pplied issues. The core technology is casting image on waving water. The waves are regarded as sine curves. The frame's phase angle and amplitude are calculated. The amplitude is used as frame vertical deviant to draw each line of the frame. Meanwhile , double buffer technology is utilized to pr

3、ocess the image on buffer area and display it on the window.0 引言使用 Applet 程序可以方便地進(jìn)行圖像處理,再融合動(dòng)畫技 術(shù),可在網(wǎng)頁(yè)上制作出各種特殊效果。 本文介紹水面特效的制作, 將圖像映在波動(dòng)的水中,如圖 1 所示,運(yùn)行時(shí)水面是運(yùn)動(dòng)的。圖1 水面特效1 實(shí)現(xiàn)方案1.1 總體設(shè)計(jì)采用雙緩沖技術(shù), 先在圖像緩沖區(qū)中處理圖像, 完成后再顯 示到窗體上。 為此需要設(shè)置圖像緩沖區(qū), 并將緩沖區(qū)邏輯劃分為 左、右兩部分??傮w制作過程為:緩沖區(qū)左半部顯示圖像,右半 部繪制倒影,左半部制作動(dòng)畫幀(覆蓋圖像),窗體顯示圖像和 動(dòng)畫幀。如圖

4、 2 所示。圖2 總體制作過程1.2 繪制倒影 倒影的繪制采用逐線移動(dòng)的處理方法,如圖 3 所示。圖3 繪制倒影圖 3 中 h 是緩沖區(qū)高度, i 是線號(hào),在程序中可以作為循環(huán) 變量。按照上圖的設(shè)計(jì), 向下移動(dòng)是正向, 開始的移動(dòng)量是正的, 但隨著 i 的不斷增加,移動(dòng)量將逐漸變?yōu)樨?fù)值,表示向上移動(dòng)。1.3 繪制動(dòng)畫幀本例設(shè)計(jì)12個(gè)動(dòng)畫幀,幀號(hào)011,存于num幀數(shù)越多圖 像越精細(xì), 但動(dòng)畫循環(huán)中的延時(shí)時(shí)間需要相應(yīng)縮短。 水波為正弦 波,不同的幀相位角 angle 不同,用如下公式計(jì)算:angle=num?2?刀 /12仍然采用逐線移動(dòng)的方法繪制動(dòng)畫幀, 動(dòng)畫幀中的圖像線可 以理解為是倒影中相

5、應(yīng)圖像線偏離原先位置形成的。 假設(shè)向上偏 移,偏移量用變量 wave 存儲(chǔ),當(dāng) wave 為負(fù)時(shí)則表示向下偏移, 如圖 4 所示。圖 4 繪制動(dòng)畫幀2 程序設(shè)計(jì)程序整體框架如下:import java.awt.* ; import java.applet.* ; public class MyJavaApplet extends Applet Image img ; / 圖像Image imgBuff ; / 圖像緩沖區(qū) Graphics ibg ; / 緩沖區(qū)畫筆 int w ,h; / 圖像寬高 int num=0 ; / 幀號(hào) double angle ; / 相位角 int wave

6、; / 偏移量 public void init() / 加載圖像、追蹤、獲取圖像寬高 / 創(chuàng)建緩沖區(qū)及其畫筆 / 在緩沖區(qū)的左半部顯示圖像 / 在緩沖區(qū)的右半部繪制倒影 public void paint(Graphics g ) / 計(jì)算當(dāng)前幀的相位角 / 在緩沖區(qū)的左半部繪制動(dòng)畫幀 / 產(chǎn)生下一幀的幀號(hào)/ 在 Applet 窗體上部顯示圖像/ 在 Applet 窗體下部顯示動(dòng)畫幀 / 休眠 50 毫秒 repaint ();public void update ( Graphics g ) paint ( g);由于設(shè)計(jì)在 paint 方法中完成循環(huán),在 paint 方法的最后, 使用 repaint 方法再調(diào)用 paint 。程序使用了 update 方法,且 在其中使用參數(shù)g調(diào)用paint方法,其作用是取消每次循環(huán)的清 屏操作,避免動(dòng)畫出現(xiàn)閃爍 5 。在 init 方法的最后,按照設(shè)計(jì)方案,使用循環(huán),用逐線移 動(dòng)的方法,在緩沖區(qū)的右半部繪制倒影,代碼 2 為:for (int i=0 ;i 標(biāo)記傳送,程序用 getParameter 方法接 收1 。 標(biāo)記應(yīng)在和標(biāo)記之間,無論什么類型的數(shù)據(jù),都

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論