資源描述:
《vc實(shí)現(xiàn)bmp位圖的打開(kāi)(操作完整版)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、VC實(shí)現(xiàn)bmp位圖的打開(kāi)0.準(zhǔn)備工作創(chuàng)建一個(gè)SDI(單文檔接口),工程名Test,“CScrollView”表示滾動(dòng)顯示。向?qū)ё詣?dòng)生成了5個(gè)類(lèi)??梢跃幾g、運(yùn)行一下。說(shuō)明:MFC框架的核心是文檔——視結(jié)構(gòu),它將數(shù)據(jù)和對(duì)數(shù)據(jù)的觀察相分離,①文檔僅處理數(shù)據(jù)的讀寫(xiě)操作,數(shù)據(jù)保存在文檔類(lèi)的成員變量中,②視是用來(lái)顯示和處理數(shù)據(jù)的窗口。視圖從文檔類(lèi)中(而不是從存儲(chǔ)介質(zhì)中)將文檔中的數(shù)據(jù)取出來(lái),然后在屏幕上顯示文檔的數(shù)據(jù)。MFC框架通過(guò)命令和消息將他們結(jié)合起來(lái)。1.添加頭文件和程序(主要用于圖像處理)①頭文件Cdi
2、b.h將頭文件的程序拷貝過(guò)來(lái)②程序CDIP.cpp將程序拷貝過(guò)來(lái)注釋?zhuān)海ù藭r(shí)可以運(yùn)行,并且可打開(kāi)文件,但是沒(méi)有結(jié)果顯示)2.創(chuàng)建菜單(設(shè)計(jì)用戶(hù)界面)創(chuàng)建兩個(gè)菜單:Caption:打開(kāi)??????ID:ID_FILE_OPENCaption:顯示原圖??ID:ID_YUANTU(1)顯示原圖右擊,出現(xiàn)上面菜單,選擇“建立類(lèi)向?qū)А边x擇“AddFunction”“OK”選擇“EditCode”,進(jìn)入程序編寫(xiě)代碼voidCTestView::OnYuantu()。(2)打開(kāi)文件選擇“AddFunction”
3、“OK”選擇“EditCode”,進(jìn)入程序編寫(xiě)代碼voidCTestView::OnYuantu()。(3)添加的內(nèi)容(a)TestDoc.h中:前面//很重要,添加內(nèi)容#include"CDIB.h"classCTestDoc:publicCdocument{public://*****************CDibCDibNew;CStringfilename;//用于testDoc.cpp文件中的變量……(b)TestView.h中classCTestView:publicCScrollVi
4、ew{//Operationspublic://****************CStringfilename;//存儲(chǔ)文件名intstate1;//按下“圖像顯示”按鈕的標(biāo)示,……3.打開(kāi)菜單進(jìn)行響應(yīng)(編寫(xiě)函數(shù)代碼)右鍵打開(kāi)菜單,建立類(lèi)向?qū)?,①在CTestDoc類(lèi)中,進(jìn)行COMMAND響應(yīng),生成OnFileOpen函數(shù),②在CtestView類(lèi)中,進(jìn)行COMMAND響應(yīng),生成OnYuanTu函數(shù)步驟:選擇“EditCode”,進(jìn)入程序編寫(xiě)代碼voidCTestView::OnYuantu()。代碼
5、參考程序4.顯示圖像顯示圖像當(dāng)然要在View類(lèi)中,因此圖像的顯示操作要在該類(lèi)的OnDraw函數(shù)中進(jìn)行在該類(lèi)中,我們要在菜單中點(diǎn)解“圖像顯示”按鈕,然后才顯示圖像,所以我們要先響應(yīng)菜單中“顯示原圖”命令。因此,右鍵“顯示原圖”,建立類(lèi)向?qū)?,在CTestView類(lèi)中進(jìn)行COMMAND響應(yīng),生成OnYuanTu函數(shù),代碼參考程序:接下來(lái),在點(diǎn)擊“顯示原圖”按鈕之后,就要在OnDraw函數(shù)中顯示圖像了,代碼參考程序5.運(yùn)行程序運(yùn)行程序,就可以打開(kāi)一幅位圖并顯示打開(kāi)文件顯示的流程:1.用ClassWizard
6、建立打開(kāi)文件的消息處理函數(shù)2.建立類(lèi)CFileDialog的對(duì)象,獲取bmp文件路徑3.建立類(lèi)CFile對(duì)象,讀取bmp文件內(nèi)容,包括判斷是否bmp文件,讀寫(xiě)圖像尺寸、讀取圖像數(shù)據(jù)到圖像數(shù)據(jù)數(shù)組。4.通過(guò)CDC類(lèi)從圖像數(shù)據(jù)數(shù)組中取圖像數(shù)據(jù)顯示。