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

正文內(nèi)容

基于gdi的基本位圖繪制軟件設(shè)計實現(xiàn)論文-wenkub.com

2024-11-03 22:02 本頁面
   

【正文】 本次畢業(yè)設(shè)計得以順利完成,還要歸功于周圍同學(xué)和朋友的無私幫助。他給我們提供了大量的資料,還及時地召開會議了解大家的工作進(jìn)展,并提出相關(guān)的建議和解決方案。在這段時間里,我十分感謝軟件學(xué)院對我們的重視,xxx老師的悉心教導(dǎo),以及周圍的同學(xué)和朋友對我的幫助。接下來的工作應(yīng)該從這方面著手完善軟件的功能。本文對Windows GDI、位圖等內(nèi)容作了一定的學(xué)習(xí)和研究,簡述了軟件實現(xiàn)所需的技術(shù)基礎(chǔ),包括Windows GDI繪圖原理,位圖的基本原理等,并著重闡述了該繪圖軟件的用戶界面、每種圖形繪制設(shè)計原則、思路以及在程序中的實現(xiàn)方法。} 總結(jié)本課題是一個基于GDI的小型位圖繪圖軟件。為了消除在畫圖時出現(xiàn)的屏幕閃爍,在畫圖時首先在將圖形在內(nèi)存中畫,在每次屏幕更新時將整個內(nèi)存中的的數(shù)據(jù)轉(zhuǎn)入顯存中顯示在屏幕中。 //添加一個點到路徑中Private: CPoint m_startPnt,m_endPnt。 //畫圖函數(shù) 在pDC上畫橢圓線AddPoint(CPoint* pPoint)。變量curStatus表示曲線完成的步驟,初始值為0,每完成一步此變量會增加1。 //畫曲線所需要的四個點Int curStatus。: 畫出的粗細(xì)顏色不同的直線 曲線類的實現(xiàn)class CCurve:public CPath{public:CCurve(void) //構(gòu)造函數(shù) 初始化一條曲線Virtual BOOL Draw(CDC* pDC)。所謂橡皮筋技術(shù)就是在起點確定后,光標(biāo)移出去定終點時,在屏幕上始終顯示一條連接起點和光標(biāo)中心的直線,這條直線隨著光標(biāo)中心位置的變動而變動,它就像在起點和光標(biāo)中心之間緊緊地拉著一根橡皮筋,有了這根橡皮筋便比較容易地找到通過一個點或和一個圓相切的直線的位置。 //畫圖函數(shù) 在pDC上畫直線BOOL AddPoint(CPoint* pPoint)。由于任何的曲線都可以用折線畫出來,因此為了實現(xiàn)鋼筆畫圖,Draw()函數(shù)將通過接收操作系統(tǒng)傳入的拖動鼠標(biāo)的消息將鼠標(biāo)的軌跡以路徑的方式記錄下來。其成員變量shapeColor為圖形的顏色,shapeState為圖形的樣式(若圖形是鋼筆、直線或是曲線這類線條樣式圖形時此變量表示線條的粗細(xì)的像素數(shù),若圖形是矩形、橢圓這類封閉圖形時此變量表示填充方式)。 //獲得路徑中的點的數(shù)目COLORREF shapeColor。 圖形基類的實現(xiàn)class CPath{public: CPath()。在Windows中,只能在窗口的顯示區(qū)域繪制文字和圖形,而且不能確保在顯示區(qū)域內(nèi)顯示的內(nèi)容會一直保留到程序下一次有意地改寫它時還保留在那里。//拖動鼠標(biāo)的消息處理函數(shù)}描述:對話框類繼承了MFC框架中CDialog類,構(gòu)造了程序界面的主要界面,通過重寫DECLARE_MESSAGE_MAP()函數(shù)將窗口接受的消息一一映射到每個消息的處理程序。//菜單或者工具欄中項被選擇的消息處理函數(shù)afx_msg void OnPaint()。 //已經(jīng)撤銷的圖形隊列CPath* m_pCurrentPath。 //位圖文件句柄BYTE* m_pDrawingSurfaceBits。 //畫板int m_nPenStyle。在工具欄下方的畫板是繪圖區(qū)域,這里是用戶的主要操作區(qū)域,用戶可以選擇菜單或者工具欄中的任意一種圖元,設(shè)定任意一種圖形樣式(顏色、填充方式、線條粗細(xì)等)在畫板中畫所要的圖形。在Edit欄中可以撤銷、重做。在本程序中將每種圖元的公共屬性和方法抽象出來得到共同的基類CPath。如果這些對象都有同名方法,就可以調(diào)用每個對象的同名方法。: 圖形處理類類圖 程序設(shè)計的小技巧——多態(tài)技術(shù)應(yīng)用面向?qū)ο蟪绦蛟O(shè)計中的另外一個重要概念是多態(tài)性。該類的兩個成員變量CPath和COperation分別為當(dāng)前正在畫板上繪制的圖形,和程序正在執(zhí)行的動作(如編輯、文件操作、改變繪圖樣式等)。 文件操作 在文件操作中使用者可以將當(dāng)前畫板上所有的圖形以位圖文件格式(BMP格式)保存至所選擇的文件路徑下。所以除了選擇以上的四種顏色外還可以選擇三種不同的填充方式。在使用鋼筆或者是選擇直線和曲線這類線條樣式畫圖時使用者可以改變線條的粗細(xì)、顏色。用戶也可以拖動鼠標(biāo),選擇合適的曲線。第一步:雷同上面畫直線的方式在畫板上畫一條直線。: 軟件各功能模塊描述下面將對上圖所示的各個功能模塊的設(shè)計一一做簡要概述。此外還提供橡皮擦功能,能擦除當(dāng)前畫板上的任意位置的圖元。依據(jù)兼容性和儲存大小的考慮,Windows 98繼續(xù)支持舊式的點陣字體。GDI支持兩種型態(tài)的位圖:一種是舊式的但還非常有用的“設(shè)備相關(guān)”位圖,這種是GDI對象;另一種是新的(如Windows )“設(shè)備無關(guān)”位圖(或者DIB),可以儲存在磁盤文件中。這個畫刷可以是實心色彩、圖案(可以是一系列的水平、垂直或者對角標(biāo)記)或者是在區(qū)域內(nèi)垂直或者水平重復(fù)的位圖圖像。 GDI基本圖形能夠在屏幕或打印機上顯示的圖形形態(tài)本身可以被分為幾類,通常被稱為“基本圖形”,它們是:直線和曲線線條是所有向量圖形繪制系統(tǒng)的基礎(chǔ)。當(dāng)然我們可以使用Windows GDI作為一個高階的向量繪制系統(tǒng),同時也可以將它用于比較低階的圖素操作。大多數(shù)PC的輸出設(shè)備是位映像設(shè)備,這意味著它們以圖點構(gòu)成的數(shù)組來表示圖像,這類設(shè)備包括顯示卡、點陣打印機和激光打印機。顯然,不同的顯示卡和打印機要求不同的設(shè)備驅(qū)動程序[5]。在Windows 98中。Windows ,因此把這種BMP圖像文件格式稱為設(shè)備無關(guān)位圖DIB(deviceindependent bitmap)格式,目的是為了讓W(xué)indows能夠在任何類型的顯示設(shè)備上顯示所存儲的圖像。同樣,由于位圖圖像是以排列的像素集合體形式創(chuàng)建的,所以不能單獨操作(如移動)局部位圖。擴(kuò)大位圖尺寸的效果是增多單個像素,從而使線條和形狀顯得參差不齊。在一個窗口消息處理程序中處理消息時,程序不會被其它消息突然中斷。這一過程顯然很復(fù)雜,但幸運的是,其中的大部分是由Windows解決的。當(dāng)WinMain呼叫ShowWindow時,Windows將給窗口消息處理程序發(fā)送WM_SIZE和WM_SHOWWINDOW消息。隊列化消息還包含時鐘消息(WM_TIMER)、更新消息(WM_PAINT)和退出消息(WM_QUIT)。也就是說,隊列化的消息被“發(fā)送”給消息隊列,而非隊列化的消息則“發(fā)送”給窗口消息處理程序。消息能夠被分為“隊列化的”和“非隊列化的”。Windows程序開始執(zhí)行后,Windows為該程序建立一個“消息隊列”。窗口消息處理程序處理給窗口發(fā)送消息。這個窗口類別與一個處理所有按鈕消息的窗口消息處理程序(位于Windows的動態(tài)鏈接庫中)聯(lián)結(jié)。更確切地說,窗口通常是在“窗口類別”的基礎(chǔ)上建立的。 Windows消息機制程序建立的每一個窗口都有相關(guān)的窗口消息處理程序。使用MFC的最大優(yōu)點是它為你做了所有最難做的事。與傳統(tǒng)上使用C語言直接訪問Windows API相反,使用MFC和C++的優(yōu)點是MFC已經(jīng)包含和壓縮了所有標(biāo)準(zhǔn)的“樣板文件”代碼,這些代碼是所有用C編寫的Windows程序所必需的。 MFC編程 MFC簡介MFC是一個很大的、擴(kuò)展了的C++類層次結(jié)構(gòu),它能使開發(fā)Windows應(yīng)用程序變得更加容易。計算功能:備有形體設(shè)計、分析方法程序庫和有關(guān)形體描述的圖形數(shù)據(jù)庫,應(yīng)具有坐標(biāo)的幾何變換、曲線曲面的形成及圖形間進(jìn)行交、并、差的運算功能。計算機繪圖系統(tǒng)是一系列硬件和軟件的集合,是一個以計算機為主體兼有產(chǎn)生圖形的系統(tǒng)。它是繼印刷、照相技術(shù)后產(chǎn)生圖形信息的又一重大革命。第四部分是論文的另一重點所在,從第三部分的系統(tǒng)分析和解決方案出發(fā),以第二部分涉及到的基本知識為基礎(chǔ),重點介紹系統(tǒng)的實現(xiàn)方法,并闡述課題的難點、問題所在。同時在設(shè)計數(shù)據(jù)結(jié)構(gòu)、繪圖方法以及程序界面的時候讓彼此之間有較低的耦合,使界面消息處理程序與繪圖函數(shù)分離。[2] 設(shè)計和研究方法前期工作:首先需要收集大量與MFC編程、Windows GDI、位圖相關(guān)的資料,以便對課題和相關(guān)領(lǐng)域,以及所要完成的設(shè)計結(jié)果有一定程度的了解。Adobe公司的Illustrator,其已成為圖形處理的工業(yè)標(biāo)準(zhǔn)。對于圖像編輯軟件,它應(yīng)該具有三項主要的功能:照片編輯、圖像組合、繪畫。[1] 國內(nèi)外研究狀況和相關(guān)領(lǐng)域中已有的成果一般來說,圖像編輯類軟件指對照片級圖像進(jìn)行處理,由連續(xù)色調(diào)組成的圖像層次豐富色彩逼真,這些軟件的特點是以像素點進(jìn)行著色稱為“位圖”,程序啟動后占用資源很大,在打開一幅質(zhì)量較高的圖像文件時會達(dá)到幾十兆,作為位圖圖像過分依賴分辨率的原因是要保留每個點坐標(biāo)的信息。20世紀(jì)70年代,交互式計算機圖形處理技術(shù)日趨成熟,在此期間出現(xiàn)了大量的研究成果,計算機繪圖技術(shù)也得到了廣泛的應(yīng)用。本
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1