百葉窗效果程序設(shè)計_第1頁
百葉窗效果程序設(shè)計_第2頁
百葉窗效果程序設(shè)計_第3頁
百葉窗效果程序設(shè)計_第4頁
百葉窗效果程序設(shè)計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計任務(wù)書學(xué)院信息科學(xué)與工程學(xué)院專業(yè)電子信息工程學(xué)生姓名學(xué)號設(shè)計題目百葉窗效果程序設(shè)計內(nèi)容及要求:以面向?qū)ο缶幊碳夹g(shù)設(shè)計windows應(yīng)用程序,主要功能:圖片出現(xiàn)百葉窗效果。 進度安排: 第一階段:16學(xué)時。設(shè)計階段。學(xué)生根據(jù)所選題目,查閱有關(guān)資料,綜合所學(xué)的理論知識完成整體設(shè)計及具體設(shè)計。第二階段:12學(xué)時。調(diào)試測試階段。上機調(diào)試測試,要求學(xué)生務(wù)必認(rèn)真,思想高度集中,調(diào)試成功后,整理、編寫設(shè)計資料及實驗報告。第三階段:4學(xué)時。驗收答辯。指導(dǎo)教師(簽字):年 月 日分院院長(簽字):年 月 日摘要對于百葉窗效果,將放在暫存圖形中的數(shù)據(jù)分成若干組,然后依次從第一組到最后一組搬移,第

2、一次每組各搬移第一條掃描線到可視圖的位置;第二次搬移第二條掃描線,接著第三條、第四條掃描線。調(diào)用CopyRect Tcanvas對象與拷貝位圖有關(guān)的是CopyMode屬性和CopyRect方法,其中CopyMode定義拷貝的模式,而Copy Rect執(zhí)行位圖拷貝的操作。當(dāng)CopyMode定義為缺省值cmSrcCopy時,CopyRect將源畫布上的一部分位圖拷貝到目標(biāo)畫布上的一個矩形區(qū)域內(nèi)。 在delphi平臺上實現(xiàn)百葉窗效果目錄一設(shè)計目的1二關(guān)鍵技術(shù)1三程序流程3四主要源代碼3五. 運行結(jié)果及結(jié)論.6六參考文獻7正文:一設(shè)計目的 通過本課程教學(xué),培養(yǎng)學(xué)生具備利用可視化開發(fā)工具開發(fā)信息系統(tǒng)能力

3、,培養(yǎng)學(xué)生的實際動手能力以及自學(xué)其它系統(tǒng)開發(fā)工具的能力。通過本課程教學(xué),著重培養(yǎng)學(xué)生具備理論聯(lián)系實際,以所學(xué)的知識,用于解決實際問題的良好素質(zhì)。這次實驗主要通過對可視化開發(fā)工具Delphi7的使用,結(jié)合Microsoft Access強大的數(shù)據(jù)庫功能,建立一個人機交互友好系統(tǒng),通過對已學(xué)知知識的掌握,在理論基礎(chǔ)上鍛煉自己的實際動手能力,培養(yǎng)學(xué)生發(fā)散思維和系統(tǒng)思維。二關(guān)鍵技術(shù)Delphi中與繪圖和位圖操作有關(guān)的對象是畫布Tcanvas。Tcanvas對象功能強大,封裝了WindowsAPI的GDI,用戶可以很方便地在畫布上繪制直線、矩形、橢圓、多邊形等基本圖形,還可以顯示、拷貝位圖,卻不必關(guān)心設(shè)

4、備上下文等GDI概念,極大地方便了用戶。Tcanvas對象本身并不是一個構(gòu)件,不單獨使用,它總是作為其它對象的屬性來使用的。Delphi有四個對象具有畫布屬性,它們是TForm、TImage、TPaintbox和Tbitmap,其中前三者是可視化構(gòu)件。至于Tcanvas的詳細情況,可以參考Delphi的聯(lián)機幫助。 實現(xiàn)簡單的位圖顯示特技,實際上就是以不同的方式逐漸將源位圖拷貝到Tcanvas類型的對象上,如從位圖的中央開始拷貝一個矩形區(qū)域到屏幕中央,矩形區(qū)域不斷擴大直到拷貝整個位圖,其視覺效果就是位圖從屏幕中央向四周擴散。不同的拷貝方式就形成了多種特技形式,如擴散、拉動和百葉窗等。對于每種特技

5、形式靈活運用,又可演變出多種花樣,如擴散可以演變?yōu)閺纳舷蛳?、從左向右、從中間向四周和相反方向的擴散,以及從一角向?qū)欠较驍U散的特技花樣。 實現(xiàn)上述位圖顯示特技的原理很簡單,關(guān)鍵是怎樣實現(xiàn)位圖的拷貝。在Delphi中有兩種拷貝位圖的方法,相應(yīng)地就有兩種實現(xiàn)位圖顯示特技的方法,一種是用Tcanvas對象的方法CopyRect,另一種是調(diào)用WindowsAPI的BitBlt函數(shù)。1、調(diào)用CopyRect Tcanvas對象與拷貝位圖有關(guān)的是CopyMode屬性和CopyRect方法,其中CopyMode定義拷貝的模式,而Copy Rect執(zhí)行位圖拷貝的操作。當(dāng)CopyMode定義為缺省值cmSrcC

6、opy時,CopyRect將源畫布上的一部分位圖拷貝到目標(biāo)畫布上的一個矩形區(qū)域內(nèi)。2、調(diào)用BitBlt函數(shù)這里涉及到了在Delphi中如何調(diào)用WindowsAPI。每當(dāng)生成一個新的項目時,Delphi自動地把WinType和WinProcs單元名添加到所生成單元文件中的uses子句中,這兩個單元包含了Delphi調(diào)用WindowsAPI所必須的類型定義和例程聲明。這樣,只需使用正確的參數(shù)就可以直接調(diào)用WindowsAPI,而不需要再作其它任何聲明。BitBlt及類似的StretchBlt函數(shù)是Windows功能強大的圖形處理函數(shù),它的功能與TCanvas的CopyRect函數(shù)一樣,不僅能夠?qū)⑽?/p>

7、圖或位圖的一部分從一處拷貝到另一處,它還可以根據(jù)256個不同的光柵操作碼將三幅位圖結(jié)合起來,從而呈現(xiàn)不同的視覺效果。在WindowsAPI函數(shù)中,所有的blt函數(shù)的鼻祖都是BitBlt函數(shù)。三、程序流程:四主要源代碼:unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Image1: TImage; Button3: TBu

8、tton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation$R *.DFMprocedure TForm1.Button1Click(Sender: TObject);var newbmp:TBitmap; i,j,delay,bmpheight,bmpwidth:integer; xgroup,

9、xcount:integer;beginnewbmp:= TBitmap.Create;newbmp.Width:=image1.Width;newbmp.Height:=image1.Height;bmpheight:=image1.Height;bmpwidth:=image1.Width;xgroup:=16;xcount:=bmpheight div xgroup;for i:=0 to xcount dofor j:=0 to xgroup dobegin newbmp.Canvas.CopyRect(Rect(0,xcount*j+i-1,bmpwidth,xcount*j+i),

10、 image1.Canvas, Rect(0,xcount*j+i-1,bmpwidth,xcount*j+i); form1.Canvas.Draw(20,20,newbmp); for delay:=0 to 65000 do begin end; for delay:=0 to 65000 do begin end; end;newbmp.Free;end;procedure TForm1.Button3Click(Sender: TObject);beginclose;end;end.五. 運行結(jié)果及結(jié)論:運行結(jié)果:結(jié)論: 本次課程設(shè)計,通過使用可視化開發(fā)工具Delphi實現(xiàn)圖片的百葉窗效果,我們的實際動手能力以及自學(xué)其它系統(tǒng)開發(fā)工具的能力有所提高,同時發(fā)現(xiàn)平時學(xué)習(xí)中的許多不足之處。例如,在開發(fā)系統(tǒng)過程中,對數(shù)據(jù)庫重要組件包括數(shù)據(jù)集組件和數(shù)據(jù)顯示組件等的相關(guān)屬性及方法不夠熟悉,還不能在需要時純熟、靈活地運用,在技術(shù)上無法實現(xiàn)夢寐以求的效果,留下許多缺憾。更好的保證了系統(tǒng)的穩(wěn)定性,提高了系統(tǒng)的容錯能力。六、參考文獻 1軟件工程Java語言實現(xiàn),Stepen R. Schach著,袁兆山等譯,機械工業(yè)出版社,1999年9月,北京2現(xiàn)代軟件工程管理技術(shù)篇,周之英編著,科學(xué)出版社,1999年9

溫馨提示

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

評論

0/150

提交評論