freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的圖像特效顯示研究畢業(yè)設(shè)計(jì)-資料下載頁

2025-06-24 15:55本頁面
  

【正文】 //temp_x_y為一維記錄數(shù)組中(ix,iy)位置 if(ix0 || ix= || iy0 || iy= ||record[temp_ix_iy]) 。 //點(diǎn)不在圖像中或已經(jīng)顯示則跳過 else//else1 { if(()*()+()*()*) {//(ix,iy)是否在該顯示圓的區(qū)域內(nèi) thisStretchBlt(IncX+ix,IncY+iy,1,1, amp。dc,ix,iy,1,1,SRCCOPY )。//顯示此像素點(diǎn) record[temp_ix_iy]=true。//標(biāo)示此點(diǎn)已顯示 num_show++。//記錄顯示過的點(diǎn)數(shù) }//if }//else1 }//for }//for1 +=add_wid。 //對一個(gè)泡泡擴(kuò)大顯示后計(jì)算其下次顯示時(shí)應(yīng)該擴(kuò)大的范圍 +=(3)?1:*。 //速度因子改變, (poin)。 //置入隊(duì)列等待下一步的運(yùn)算 if(length_Queue==())Sleep(40)。 //分析完一步中所以泡泡,時(shí)間延遲 }while(() amp。amp。 num_show*)。 //循環(huán)到隊(duì)列出錯(cuò)為空或圖像全部顯示完為止 : 泡泡腐蝕的顯示運(yùn)行效果圖 VC++程序界面設(shè)計(jì) CDC類的派生類設(shè)計(jì)將每個(gè)圖像特效顯示的算法都編寫到一個(gè)函數(shù)中,可以在需要使用某個(gè)特效的地方方便的調(diào)用這些函數(shù),這樣能減少每個(gè)調(diào)用函數(shù)的代碼量,并且增強(qiáng)了代碼的可讀性,因而能降低調(diào)試和維護(hù)代碼的難度。在CDC類中有BitBle()等成員顯示函數(shù),如果將這些特效顯示函數(shù)也作為CDC類的派生類中的成員函數(shù),便可以在程序獲取該CDC類派生類對象時(shí),直接調(diào)用其成員函數(shù)以完成特效顯示,同時(shí)該CDC類派生類又能繼承CDC的所有成員函數(shù),從而能正常的完成CDC類的所有功能。 CDC類派生類定義如下: class SpecialEffectsDC:public CDC//CDC的派生類 { public: BOOL StretchBlt(int x,int y,int nWidth,int nHeight,CDC *pSrcDC, int xSrc,int ySrc,int nSrcWidth,int nSrcHeight,DWORD dwRop){ return CDC::StretchBlt(x,y,nWidth,nHeight,pSrcDC,xSrc, ySrc,nSrcWidth,nSrcHeight,dwRop)。}。//重載CDC類的StretchBlt()方法 BOOL EShow_01(const BITMAP amp。bs,SpecialEffectsDC amp。dc,const UINT IncX=0, const UINT IncY=0)。//成員函數(shù)——特效顯示函數(shù) ........}。 CDialog類的派生類的成員函數(shù)設(shè)計(jì) 同樣的,代碼過多導(dǎo)致程序可讀性降低、調(diào)試難度加大,本次設(shè)計(jì)涉及的特效顯示分別由10個(gè)菜單項(xiàng)來控制完成,各菜單項(xiàng)的消息處理函數(shù)都有加載位圖、設(shè)置圖像顯示參數(shù)、選入設(shè)備、調(diào)用顯示函數(shù)等重復(fù)的代碼,因此把這些重復(fù)的代碼編寫成一個(gè)函數(shù)對調(diào)試是很有利的。同時(shí)為了能方便的調(diào)用對話框的一些全局變量,如讀取位圖文件地址等,本次設(shè)計(jì),在繼承自CDialog類的主窗口類COpenFileDlg中加入一個(gè)成員方法void Special_show(int nID)以完成這部分重復(fù)功能。其主要功能是在加載用戶選擇的位圖、處理好位圖與顯示設(shè)備間關(guān)系后,根據(jù)參數(shù)nID標(biāo)示的內(nèi)容進(jìn)行有選擇的調(diào)用特效顯示函數(shù)。 void COpenFileDlg::Special_show(int nID) { Invalidate()。//刷新設(shè)備顯示區(qū) MessageBox(begin!)。//提示 HBITMAP hBmp = (HBITMAP)LoadImage(NULL, fileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTCOLOR | LR_DEFAULTSIZE)。 BITMAP bs。 GetObject(hBmp, sizeof(bs), amp。bs)。 SpecialEffectsDC dc, *pDC =(SpecialEffectsDC*)GetDC()。 //自定義CDC類的對象 (pDC)。 ::SelectObject((), hBmp)。 switch(nID) { case ID_MENUITEM_1:pDCEShow_1(bs,dc,0,0)。break。特效顯示函數(shù) ..... default:break。 } MessageBox(Done!)。//提示 ReleaseDC(pDC)。//釋放DC } 基本窗口設(shè)計(jì) 本次設(shè)計(jì)采用MFC的對話框窗口作為主窗口,以用于顯示加載的位圖及圖像的特效顯示平臺。加載位圖時(shí),使用通用對話框中的文件打開對話框取得在磁盤上的所需位圖名CString fileName。顯示及特效顯示時(shí),調(diào)用自定義的對話框成員函數(shù)加載位圖,然后在設(shè)備上顯示出來。特效顯示功能是菜單項(xiàng)進(jìn)行控制的,所以在菜單項(xiàng)的消息處理函數(shù)中只需調(diào)用該成員函數(shù)并傳入正確的參數(shù),就可以實(shí)現(xiàn)特效顯示。設(shè)計(jì)中相關(guān)代碼有:: CString m_fileName。//用于保存位圖的路徑 文件名 wchar_t *filters = L位圖文件(*.bmp)|所有文件(*.*)|*.*||。 CFileDialog *fileDlg。 fileDlg=new CFileDialog(TRUE,bmp,*.bmp,OFN_HIDEREADONLY, 位圖文件(*.bmp)|所有文件(*.*)|*.*||)。此代碼實(shí)現(xiàn)的功能為使用通用對話框中的打開對話框用戶可以選擇需要打開的bmp文件,返回的文件路徑及文件名保存在m_fileName中。 : CMenu m_menu。//定義菜單 (IDR_MENU1)。//加載菜單 SetMenu(amp。m_menu)。//顯示菜單到當(dāng)前窗口此部分代碼將菜單加載并顯示出來,因?yàn)橐诖翱陲@示的時(shí)候同時(shí)顯示出菜單,所以在對話框::OnInitDialog()方法中加入以達(dá)到效果。: Windows的界面設(shè)計(jì)效果截圖 測試分析及總結(jié) 兩個(gè)特效顯示的最終效果基本上按預(yù)定的設(shè)計(jì)完成,兩個(gè)特效都具有實(shí)用性跟美觀性。漸變百葉窗特效的算法相對簡單,運(yùn)行時(shí)能顯示出比較好的效果;泡泡腐蝕特效的算法比較復(fù)雜,運(yùn)行時(shí)使人感到眼花繚亂,整體效果也是不錯(cuò)的。在設(shè)計(jì)中遇到了不少問題,其中有的問題已經(jīng)解決,對這些問題分點(diǎn)闡述如下: 。若泡泡腐蝕特效中的泡泡每一步的增加個(gè)數(shù)不同,顯示出來的效果也會有所不同,在算法實(shí)現(xiàn)函數(shù)中將一些與算法密切相關(guān)的數(shù)值(如泡泡腐蝕泡泡每步增加的個(gè)數(shù)、第一次顯示時(shí)大小及時(shí)間延遲長度等)定義為傳遞參數(shù),可以通過傳遞不同的參數(shù),靈活的調(diào)用該函數(shù),實(shí)現(xiàn)不同的顯示效果。通過對這些參數(shù)測試取得比較優(yōu)秀的組合,使運(yùn)行時(shí)能較好的展示相應(yīng)的顯示效果,在函數(shù)聲明時(shí)將該組合作為函數(shù)的缺省值,函數(shù)調(diào)用時(shí)便能以簡潔的方式獲得較好的效果。 。當(dāng)圖像過小,小于窗口的大小時(shí),顯示出來的圖像顯得很小,界面不美觀。更改窗口的大小以適應(yīng)圖像的大小將是不錯(cuò)的想法,但菜單欄占據(jù)窗口的一定寬度使窗口不能隨意改變,設(shè)計(jì)時(shí)采用的方法是初始化窗口大小為一個(gè)比較適中的窗口大小600*450,采用垂直居中、水平居中顯示圖像。當(dāng)特效顯示應(yīng)用于分辨率過大的圖像時(shí),窗口過大使得顯示的效果不理想,設(shè)計(jì)時(shí)取得圖像的大小后,重新設(shè)置LoadImage()的參數(shù)裝載圖像,使裝載得到的圖像分辨率寬度不大于600、高度不大于450。若程序界面中加入控件,用于取得用戶的輸入,將這些輸入傳遞到顯示函數(shù),改變特效顯示的參數(shù)而完成某個(gè)特效顯示的不同變化效果,可以提高程序的交互性。但本次設(shè)計(jì)中沒有完成這部分功能,原因主要是因?yàn)樘匦э@示的過程時(shí)間短暫,且用戶需要的是一個(gè)較美觀實(shí)用的特效顯示,所以只需要使用函數(shù)的默認(rèn)值即可達(dá)到效果。圖像特效顯示時(shí),用戶若沒有注意到圖像并未完全顯示出來而進(jìn)行其它操作,程序?qū)o法響應(yīng),在設(shè)計(jì)時(shí)使用提示消息框在圖像顯示的開始和結(jié)束的時(shí)候提示用戶,使用戶不會盲目操作,以提高程序的交互性。44基于VC++的圖像特效顯示 結(jié) 語 本論文是基于VC++的圖像特效顯示研究,文中主要的內(nèi)容包括:;、基于VC++的程序設(shè)計(jì); 、柵條顯示、馬賽克顯示;——漸變百葉窗和泡泡腐蝕,并給出了基于VC++環(huán)境的窗口設(shè)計(jì); 。論文對此次特效顯示的研究,總結(jié)如下:,算法中沒有用到復(fù)雜的數(shù)據(jù)結(jié)構(gòu),只是對數(shù)字的簡單運(yùn)算,但可讀性稍差,好在算法本身的代碼量是相當(dāng)少的,總體來說能很好的完成預(yù)定效果;。設(shè)計(jì)中嵌套、循環(huán)比較多,造成程序運(yùn)行稍慢,而特效實(shí)現(xiàn)中要求對各泡泡點(diǎn)的顯示近乎同步,所以對算法中各語句的運(yùn)行時(shí)間要求較高,設(shè)計(jì)中采用的隊(duì)列也是另行設(shè)計(jì)以簡練數(shù)據(jù)結(jié)構(gòu),最終算法運(yùn)行達(dá)到了比較好的效果。,設(shè)計(jì)時(shí)對掃描的向前運(yùn)動(dòng)部分加上了一個(gè)模糊的區(qū)域,使其運(yùn)行效果更有一種動(dòng)態(tài)的效果。在柵條顯示中,將柵條寬度通用化,對于不同的柵條寬度,程序都可以完好的顯示特效,而不至于在邊緣部分出現(xiàn)問題。在馬賽克特效中,對圖像的邊緣顯示進(jìn)行特殊處理,當(dāng)圖像不能剛好分成N等份的時(shí)候,圖像依然能完整的顯示出來。,把諸如馬賽克寬度、柵條寬度、泡泡大小等參數(shù)定義為函數(shù)參數(shù),并將能較好展示特效的值作為函數(shù)默認(rèn)值,這樣對各特效的算法進(jìn)行進(jìn),能應(yīng)對用戶對參數(shù)變化的需要。本次設(shè)計(jì)方向主要是研究圖像特效顯示中的特效分塊顯示組合,這是特效顯示的一個(gè)設(shè)計(jì)方向,特效顯示還有其他方向在本論文中并沒有涉及。設(shè)計(jì)中統(tǒng)一采用了CDC類的幾個(gè)常用顯示函數(shù),因此有一定的局限性,如不能操作點(diǎn)的色彩、其他格式圖像的加載,但關(guān)鍵部分如顯示算法部分的研究都比較深入,且由于處理的數(shù)據(jù)有限所以未遇到程序調(diào)試完成后,出現(xiàn)運(yùn)行不良、運(yùn)行過慢等現(xiàn)象。因此若設(shè)計(jì)相對復(fù)雜的顯示程序時(shí),應(yīng)該考慮到各種格式圖像文件的讀取,圖像顯示大小的優(yōu)化轉(zhuǎn)換,以及更有效率、功能更強(qiáng)大的顯示圖像函數(shù),以展現(xiàn)出設(shè)計(jì)的更多創(chuàng)意。致 謝 本研究及學(xué)位論文是在我的導(dǎo)師肖英楠老師的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。肖老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生活上給我以無微不至的關(guān)懷,在此謹(jǐn)向肖老師致以誠摯的謝意和崇高的敬意。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們! 最后,再次對關(guān)心、幫助我的老師和同學(xué)表示衷心地感謝參考文獻(xiàn)[1] 容觀澳.計(jì)算機(jī)圖像處理[M].北京:清華大學(xué)出版社,2000,100~125.[2] C++ 開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007,340~373.[3] John C++ MFC 編程實(shí)例[M].北京:機(jī)械工業(yè)出版社,2000,51~74.[4] 何斌.VC++數(shù)字圖像處理[M].北京:人民郵電大學(xué)出版社,2001,50~85.[5] 郎銳.?dāng)?shù)字圖像處理學(xué)VC++實(shí)現(xiàn)[M].北京:北京希望電子出版社,2002,15~36.[6] 網(wǎng)冠科技.Visual C++[M].北京:機(jī)械工業(yè)出版社,2001,20~25.[7] 周長發(fā).精通Visual C++圖像編程[M].北京:電子工業(yè)出版社,2000,32~70.[8] 黃維通.Visual C++ 面向?qū)ο笈c可視化程序設(shè)計(jì)(第二版)[M].北京:清華大學(xué)出版社, 2004,225~252.[9] 楊淑瑩.VC++圖像處理程序設(shè)計(jì)[M].北京:北方交通大學(xué)出版社,2003,70~99.[10] 蔡立軍.C++程序設(shè)計(jì)[M].北京:北方交通大學(xué)出版社,2004,15~34.[11] 王華.Visual C++編程實(shí)例與技巧[M].北京:機(jī)械工業(yè)出版社,1999,23~98.[12] 王鵬程.用VC++實(shí)現(xiàn)動(dòng)態(tài)效果的啟動(dòng)程序[J].電腦編程技巧與維護(hù),2005,10(8):39~41.[13] 耿迅.VC圖像處理——界面設(shè)計(jì)及總結(jié)[J].電腦編程技巧與維護(hù),2006,12(3):69~74.[14] 陳雄峰.Windows顯示過渡效果基本原理[J].閩江學(xué)院學(xué)報(bào),2003,24(2):43~46.
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1