MFC 關於MFC中CImage的簡單使用

2021-09-08 23:23:11 字數 2069 閱讀 9628

首先要將#include 加進來,開始時我加到stdafx.h中,但一直提示windows.h被重複引入的問題,後將其加在別的標頭檔案中,就可以了..   --!

一、的載入

hresult load(lpctstr pszfilename) throw( );

hresult load(istream* pstream) throw();

void loadfromresource(hinstance hinstance, lpctstr pszresourcename) throw( );

void loadfromresource(hinstance hinstance, uint nidresource) throw( );

如果需要顯示的在程式執行時需要更換則通常使用第乙個函式load(lpctstr pszfilename)載入,引數pszfilename指定要載入的檔案;如果需要顯示的是固定不變的,則通常使用第三個loadfromresource(hinstance hinstance, lpctstr pszresourcename)或第四個函式loadfromresource(hinstance hinstance, uint nidresource)載入,這兩個函式是從資源中取得資訊,每乙個引數是包含有待載入的模組例項控制代碼,第二個引數是資源的id或名稱。

lpctstr型別可以理解為 const char*

但是我在使用時需要加上 (lpctstr)"xx.jpg"

以下**分別通過load和loadfromresource載入了:

cimage m_image1;        // 實際**中,被宣告成了類成員

cimage m_image2;        // 實際**中,被宣告成了類成員

在實際中,第一種方法會出現無法載入的情況,目前我還不太清楚原因,希望知道的網友指教

二、的顯示

bool draw(hdc hdestdc,int xdest,int ydest,int ndestwidth,int ndestheight,

int xsrc,int ysrc,  int nsrcwidth,int nsrcheight ) const throw( );

bool draw(hdc hdestdc,const rect& rectdest,const rect& rectsrc) const throw( );

bool draw(hdc hdestdc,int xdest,int ydest ) const throw( );

bool draw(hdc hdestdc,const point& pointdest) const throw( );

bool draw(hdc hdestdc,int xdest,int ydest,int ndestwidth,int ndestheight) const throw( );

bool draw(hdc hdestdc,const rect& rectdest) const throw( );

if(m_image2.isnull())    //判斷有無影象  

return;   

// 取得客戶區尺寸  

crect zcrect;  

getdlgitem(idc_static_pic2)->getclientrect(&zcrect);   

// 將影象顯示在介面之上  

m_image2.draw(getdlgitem(idc_static_pic2)->getdc()->m_hdc,  

zcrect.left,  

zcrect.top,  

zcrect.width(),  

zcrect.height());

當然,可以十分簡單的用

image->draw(this->getdc()->m_hdc,0,0);即可

可以通過image->setpixel(10,10,rgb(255,0,0));對上的(10,10)畫素修改為紅色

MFC 關於mfc中控制項禁用和狀態判斷

bool enablewindow bool benable true 判斷控制項是否可用可以呼叫 cwnd iswindowenable函式 bool iswindowenable iswindowenabled 函式用於判斷指定的視窗是否允許接受鍵盤或滑鼠輸入。函式原型 bool iswindo...

關於mfc控制項

假如是 cedit m e1 就是把編輯框控制項與乙個控制項類變數關聯起來 cstring str m e1.getwindowtex str 獲取這個編輯框中的字串 m e1.setreadonly true 設定這個編輯框為唯讀 還有很多能讀取和設定這個編輯框的函式,自己慢慢看吧 這時繫結的就不...

關於在MFC工程中呼叫MFC常規動態庫

使用mfc常規型動態鏈結庫 1 將生成的動態鏈結庫檔案 regudll.dll 和庫檔案 regudll.lib 拷貝到要呼叫的工程dlltest的目錄下,再將 regudll.lib 檔案加入到呼叫工程dlltest中.2 在呼叫工程testdlg.h中加入如下 宣告動態鏈結庫函式 define ...