資源描述:
《數(shù)字圖像處理vc++圖像編程基礎(chǔ)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三章VC++圖像編程基礎(chǔ)3.1VC++可視化編程3.2ImageLoad.dll動態(tài)鏈接庫3.3設(shè)計CDibObject類3.4使用CDibObject類3.5CDibObject類應(yīng)用實例3.1VC++可視化編程3.1.1概述VC++是Microsoft公司推出的開發(fā)Win32應(yīng)用程序(Windows95/98/2000/XP/NT)的面向?qū)ο蟮目梢暬晒ぞ?。隨著VC++所提供的Microsoft基礎(chǔ)類庫(MicrosoftFoundationClassLibrary,簡寫為MFC),對Windows95/N
2、T所用的Win32應(yīng)用程序接口(Win32ApplicationProgrammingInterface—API)進(jìn)行了徹底的封裝,從而可以使用完全的面向?qū)ο蟮姆椒▉磉M(jìn)行Win32應(yīng)用程序的開發(fā),這樣大大縮短了應(yīng)用程序開發(fā)周期,降低了開發(fā)成本,也將程序員從大量的復(fù)雜勞動中解放出來。VC++DeveloperStudio包含有編寫程序源代碼的文本編輯器、設(shè)計用戶界面(菜單、對話框、圖標(biāo)等)的資源編輯器、建立項目配置的項目管理器、檢查程序錯誤的集成調(diào)試器等工具,同時它還提供了功能強大的應(yīng)用程序向?qū)Чぞ逜ppWizard和
3、類向?qū)Чぞ逤lassWizard。AppWizard用于生成各種不同類型的具有Windows界面風(fēng)格的應(yīng)用程序的基本框架,在生成應(yīng)用程序框架后,使用ClassWizard便可輕松完成創(chuàng)建新類、定義消息處理函數(shù)、重載虛擬函數(shù)等操作。3.1.2用戶界面圖3-1VC++6.0用戶界面VC++6.0提供有多種不同用途的菜單命令和工具按鈕,多數(shù)菜單和工具按鈕是人們熟悉的標(biāo)準(zhǔn)Windows菜單和工具銨鈕。用VC++6.0開發(fā)應(yīng)用程序主要涉及三大類型的文件:文件(Files)、項目(Projects)和工作區(qū)(Workspaces
4、)。在VC++6.0中,通常意義下開發(fā)一個Windows應(yīng)用程序是指生成一個項目,該項目包含著一組相關(guān)的文件,如各種頭文件(.h)、實現(xiàn)文件(.cpp)、資源文件(.rc)、圖標(biāo)文件(.ico)、位圖文件(.bmp)等,而該項目必須在一個工作區(qū)打開。所以,當(dāng)?shù)谝淮谓⒁粋€應(yīng)用程序時,應(yīng)選擇新建一個項目,此時VC++6.0自動建立一個工作區(qū),并把新建的項目在該工作區(qū)中打開,以后要對該項目進(jìn)行修改、補充、增加等工作,只要打開對應(yīng)的工作區(qū)即可。VC++6.0以項目工作區(qū)(ProjectWorkspace)的方式來組織文件、
5、項目和項目配置,通過項目工作區(qū)窗口可以查看和訪問項目中的所有元素。首次創(chuàng)建項目工作區(qū)時,要創(chuàng)建一個項目工作區(qū)目錄、一個項目工作區(qū)文件、一個項目文件和一個工作區(qū)選項文件。項目工作區(qū)文件用于描述工作區(qū)及其內(nèi)容,擴展名為.dsw。項目文件用于記錄項目中各種文件的名字和位置,擴展名為.dsp。工作區(qū)選項文件用于存儲項目工作區(qū)設(shè)置,擴展名為.opt。創(chuàng)建或者打開項目工作區(qū)時,VC++6.0將在項目工作區(qū)窗口中顯示與項目有關(guān)的信息。項目工作區(qū)窗口主要由三個面板構(gòu)成,即FileView、ResouceView和ClassView,
6、分別用于顯示項目中定義的C++類、資源文件和包含在項目工作區(qū)中的文件。每個面板用于指定項目工作區(qū)中所有項目的不同視圖,視圖中每個文件夾可以包含其他文件夾或各種元素(如,子項目、文件、資源、類和標(biāo)題等)。通過項目工作區(qū)窗口可以定位到項目中的任一位置,以對其進(jìn)行相應(yīng)的編輯(源程序、資源等)編輯區(qū)窗口打開文本編輯器和資源編輯器。文本編輯器的使用與Word非常類似,通過它可方便的進(jìn)行程序源代碼的輸入、編輯和修改工作。在資源編輯器中可進(jìn)行各種資源的編輯工作,如對話框、圖標(biāo)、菜單、位圖等,從而直觀地設(shè)計程序的用戶界面。輸出窗口用
7、于顯示項目建立過程中所產(chǎn)生的錯誤信息、調(diào)試過程中的輸出信息等,用它可以方便地定位到工程中的錯誤位置,觀察到程序調(diào)試過程中的輸出結(jié)果。3.1.3框架和文檔—視結(jié)構(gòu)基于MFC的應(yīng)用程序框架(ApplicationFramework)是定義了程序結(jié)構(gòu)的MFC類庫中類的集合,它是VC++編程的骨架。運用MFC應(yīng)用程序框架具有如下優(yōu)點:(1)標(biāo)準(zhǔn)化的程序結(jié)構(gòu)和用戶接口:這對具有標(biāo)準(zhǔn)用戶界面的Win32程序來說,可以極大地減輕程序員的負(fù)擔(dān),使程序員不必過多地考慮界面,而把主要精力放在程序設(shè)計上,以提高程序設(shè)計的效率。(2)
8、框架產(chǎn)生的程序代碼短,運行速度快,具有很大的靈活性。(3)MFC封裝了Win32SDK中的幾乎所有的函數(shù),能夠?qū)崿F(xiàn)Win32系統(tǒng)的任何功能。MFC框架的核心是文檔—視結(jié)構(gòu)(Document-ViewArchitecture)。簡單地說,文檔—視結(jié)構(gòu)就是將數(shù)據(jù)和對數(shù)據(jù)的觀察相分離,文檔僅處理數(shù)據(jù)的讀、寫等操作,視則是顯示和處理數(shù)據(jù)的窗口,視可以