以下是在OnDraw函数中的显示Bitmap的方法!
谁能给出一个不再OnDraw函数中,通过单击来显示Bitmap的方法还有“BITMAP bminfo;
bitmap.GetObject(sizeof(bminfo),&bminfo);”
这两句是什么意思?
CBitmap bitmap;
HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,"BIRD27.BMP",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); bitmap.Attach(hbitmap); CDC dcComp;
dcComp.CreateCompatibleDC(pDC);
dcComp.SelectObject(&bitmap); BITMAP bminfo;
bitmap.GetObject(sizeof(bminfo),&bminfo);
pDC->BitBlt(0,0,bminfo.bmWidth,bminfo.bmHeight,&dcComp,0,0,SRCCOPY);
谁能给出一个不再OnDraw函数中,通过单击来显示Bitmap的方法还有“BITMAP bminfo;
bitmap.GetObject(sizeof(bminfo),&bminfo);”
这两句是什么意思?
CBitmap bitmap;
HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,"BIRD27.BMP",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); bitmap.Attach(hbitmap); CDC dcComp;
dcComp.CreateCompatibleDC(pDC);
dcComp.SelectObject(&bitmap); BITMAP bminfo;
bitmap.GetObject(sizeof(bminfo),&bminfo);
pDC->BitBlt(0,0,bminfo.bmWidth,bminfo.bmHeight,&dcComp,0,0,SRCCOPY);
bitmap是CBitmap类,它将它载入的位图的信息(如高度、宽度、颜色数保存到BITMAP结构中)
typedef struct tagBITMAP { /* bm */
int bmType;
int bmWidth;
int bmHeight;
int bmWidthBytes;
BYTE bmPlanes;
BYTE bmBitsPixel;
LPVOID bmBits;
} BITMAP;
GetObject得到位图的信息存到指针指向的buffer里
2.在你要画图的函数里加上一句 CClientDC dc(this)就可以了