vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片

vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片

ID:8807870

大小:38.50 KB

頁數(shù):5頁

時間:2018-04-08

vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片_第1頁
vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片_第2頁
vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片_第3頁
vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片_第4頁
vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片_第5頁
資源描述:

《vc實現(xiàn)打開bmpjpg或gif圖片vcmfc打開圖片》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、1、新建一個單文檔的應(yīng)用程序,項目名稱為ShowBitmap2、為CShowBitmapView類添加下述成員變量和成員函數(shù)://參數(shù)定義public:????int?state;????//位圖顯示狀態(tài)????CStringBmpName;???//保存圖像文件文件名????CStringextname;????//保存圖像文件擴展名????CBitmapm_bitmap;?//創(chuàng)建位圖對象????void?ShowBitmap(CStringBmpName);????//用來顯示指定位圖的函數(shù)????BOOLS

2、howJpgGif(CDC*?pDC,CStringstrPath,?int?x,?int?y);3、在CShowBitmap類的構(gòu)造函數(shù)中,初始化成員變量state//?CShowBitmapView構(gòu)造/析構(gòu)CShowBitmapView::CShowBitmapView(){????state=0;}4、為ID_FILE_OPEN消息添加響應(yīng)函數(shù)(具體怎么加就不細說了),編寫該函數(shù)//?CShowBitmapView消息處理程序void?CShowBitmapView::OnFileOpen(){????//

3、CFileDialogdlg(TRUE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY

4、OFN_OVERWRITEPROMPT,_T("位圖文件(*.BMP;*.jpg)

5、*.BMP;*.jpg

6、"));??//這行代碼可以打開BMP格式的圖片????CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY

7、OFN_OVERWRITEPROMPT,_T("位圖文件(*.BMP)

8、*.BMP

9、jpg文件(*.jpg)

10、*.jpg

11、

12、"));?//這行代

13、碼可以打開BMP和JPG格式的圖片//gif格式圖片的打開在這就不列出來了,留給各位自己嘗試吧,對于gif格式圖片的顯示圖片函數(shù)和jpg格式圖片是同一個函數(shù)。?????if(IDOK==dlg.DoModal())?????{?????????state=0;??????????BmpName.Format(_T("%s"),dlg.GetPathName());?????????extname=dlg.GetFileExt();????????????//返回選定文件的擴展文件名?????????extname.

14、MakeLower();?????????if(0==extname.Compare(_T("bmp")))?????????{?????????????ShowBitmap(BmpName);?????????}?????????else?????????{?????????????state=1;?????????}????????Invalidate();?????}}5、編寫B(tài)MP圖片顯示函數(shù)void?CShowBitmapView::ShowBitmap(CStringBmpName){????if?(s

15、tate==0)????{????????????????????HBITMAPhBitmap=(HBITMAP)LoadImage(NULL,BmpName,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION

16、LR_DEFAULTSIZE

17、LR_LOADFROMFILE);????????m_bitmap.Detach();????????m_bitmap.Attach(hBitmap);????????state=1;????????Invalidate();????}}6、編寫jpg或g

18、if格式圖片顯示程序BOOLCShowBitmapView::ShowJpgGif(CDC*?pDC,CStringstrPath,?int?x,?int?y){????IStream?*pStm;??????CFileStatusfstatus;??????CFilefile;??????LONGcb;??????//打開文件并檢測文件的有效性????if?(file.Open(strPath,CFile::modeRead)&&????????file.GetStatus(strPath,fstatus)&&?

19、????????((cb?=?fstatus.m_size)?!=?-1))??????{??????????HGLOBALhGlobal?=?GlobalAlloc(GMEM_MOVEABLE,cb);??????????LPVOIDpvData?=?NULL;??????????if?(hGlobal?!=?NULL)??????????{???????

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。