資源描述:
《簡單圖形繪制系統(tǒng)設計方案.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、簡單圖形繪制系統(tǒng)設計方案第一章課題背景引言計算機技術的發(fā)展,使人類社會進入了信息化和自動化,計算機智能識別也隨著計算機的發(fā)展得到了迅速的發(fā)展。特別是圖形圖像的計算機處理技術更是有了前所未有的進步和應用。計算機識別也逐漸的從圖形圖像處理的大環(huán)境下分離出來作為一門新的高科技研究領域出現(xiàn)。畫圖涉及到的學科很多,包括數(shù)字信號處理、工程數(shù)學、信息論、運籌學等,它與計算機、自動化、生物學、視覺心理和生理學、人工智能、智能信息處理等眾多領域交叉、綜合集成,有廣泛的應用。該軟件功能與Windows下附件中的畫圖軟件有相似功能。本程序是在VC6
2、.0平臺上用MFC所編。繪制方面的功能主要包括繪制各種圖元,包括直線、矩形、橢圓,用筆或畫刷自由繪圖。繪圖時可以選擇各種顏色,各種線型和線寬。該軟件設計的設計思想是面向對象程序設計的思想。面向對象技術是一個非常實用而強有力的軟件開發(fā)方法。它具有許多特色。一是方法的唯一性,即方法是對軟件開發(fā)過程所有階段進行綜合考慮而得到的。二是從生存期的一個階段到下一個階段的高度連續(xù)性,即在一個階段所用到的部分與在下一個階段所使用的部分是銜接的,所使用的技術經(jīng)過生存期每一階段后不改變。三是把面向對象分析(OOA)、面向對象設計(OOD)和面向對
3、象程序設計(OOP)集成到生存期的相應階段。筆者作為一個初學者,所學知識有限,做這個軟件主要是為了測試近期的學習成果,方便了解對MFC的學習掌握程度,以便于后期的學習。該程序中基本上包含了筆者這一段時間在VC上付出的所有努力。軟件又MFC單文檔類工程為主要載體,其中菜單、對話框的創(chuàng)建以及各種消息的響應,MFC庫函數(shù)的調用等,其創(chuàng)建過程能看出一個初學者由淺入深的過程。軟件的預期是能成為一個電腦繪圖的輔助功能存在,可是軟件完成后繪圖功能上依然有許多方面不能滿足需求。希望讀者提出寶貴的意見和建議。第二章設計簡介及設計方案論述2.1設
4、計目的培養(yǎng)學生對科學研究的認識,掌握基本的科研方法;培養(yǎng)學生分析問題、研究問題和解決問題的能力;培養(yǎng)學生動手能力和編程能力以及自主查閱資料的能力。2.2設計思路2.2.1題設要求完成簡單圖形的繪制系統(tǒng):實現(xiàn)直線,矩形,圓的繪制,并能設置線型,線寬和顏色;實現(xiàn)圖形的重繪和保存功能;實現(xiàn)在狀態(tài)欄動態(tài)顯示當前時間功能。2.2.2題目分析題目要求設計一個簡單的繪圖系統(tǒng),程序功能要求簡單,可以用一個簡單的窗口菜單程序解決。對題目要求的繪制圖形和線條更改,使用菜單響應會很容易解決,至于圖形的重繪和保存,狀態(tài)欄的時間顯示雖然使用的函數(shù)較為復
5、雜,看似麻煩,實際上函數(shù)框架簡化出來后很容易理解,響應功能的代碼量也相對較少。2.3設計原理我創(chuàng)建的是一個單文檔類的MFCAppWizard(exe)工程(圖2-1,圖2-2),在該工程里,我使用菜單(圖2-3,圖2-4)和對話框(圖2-5)實現(xiàn)了題目要求的簡單繪圖設計。圖2-1創(chuàng)建MFC應用程序圖2-2創(chuàng)建單文檔類MFC工程圖2-3雙擊IDR_MAINFRAME創(chuàng)建菜單圖2-4建立如圖菜單項圖2-5建立如圖所示對話框第三章詳細設計3.1菜單的響應3.1.1菜單的創(chuàng)建首先建立一個但文檔類型的MFCAppWizard(exe)工
6、程,工程名為:簡單繪圖演示(圖2-1,圖2-2),然后打開資源視圖,找到“菜單”-“IDR_MAINFRAME”,雙擊“IDR_MAINFRAME”創(chuàng)建菜單(見圖2-3圖2-4)。建立的菜單如圖4所示。3.1.2菜單的響應菜單建好后,要為所建立的菜單添加消息響應函數(shù),這樣所建立的菜單才能被加載入程序(斜體部分為添加的消息響應函數(shù),圖3-1)。例3-1voidC簡單繪圖演示View::OnLine(){//TODO:在此添加命令處理程序代碼}voidC簡單繪圖演示View::OnCircle(){//TODO:在此添加命令處理程
7、序代碼}voidC簡單繪圖演示View::OnRect(){//TODO:在此添加命令處理程序代碼}圖3-1在類向導中響應創(chuàng)建的菜單項(響應項ID:ID_CIRCLE、ID_LINE、ID_RECT;分別對應圓、直線、矩形)接著,為C簡單繪圖演示View添加私有成員變量m_nDrawStyle(圖3-2是具體的添加成員變量操作),并將m_nDrawStyle初始化為0(斜體為m_nDrawStyle初始化過程)。例3-2C簡單繪圖演示View::C簡單繪圖演示View():m_nDrawStyle(0){//TODO:在此處添
8、加構造代碼m_nDrawStyle=0;}圖3-2為C簡單繪圖演示View添加UINT類型的私有成員變量m_nDrawStylem_nDrawStyle變量初始化后再為響應函數(shù)賦值(斜體為賦值過程)例3-3voidC簡單繪圖演示View::OnLine(){//TODO:在此