16,472
社区成员
发帖
与我相关
我的任务
分享
BOOL CMyView::ShowBitmap(CString str)
{
CBitmap *bitmap;
BITMAP pBmpInfo;
HBITMAP bmp =(HBITMAP)::LoadImage(AfxGetInstanceHandle(),str,IMAGE_BITMAP,0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE);
if(bmp==NULL)
{
MessageBox("LoadImage Error !");
return FALSE;
}
bitmap=CBitmap::FromHandle(bmp);
bitmap->GetBitmap(&pBmpInfo);
CDC mem;
CDC *pDC=GetDC();
if(!mem.CreateCompatibleDC(pDC))
{
MessageBox("CreateCompatibleDC Error !");
return FALSE;
}
if(! mem.SelectObject(bitmap))
{
MessageBox("SelectObject Error !");
return FALSE;
}
CRect rect;
GetClientRect(&rect);
// int err = pDC->BitBlt(0,0,pBmpInfo.bmWidth,pBmpInfo.bmHeight,&mem,0,0,SRCCOPY);
// int err = pDC->StretchBlt(0,0,pBmpInfo.bmWidth,pBmpInfo.bmHeight,&mem,0,0,rect.Width(),rect.Height(),SRCCOPY);
int err = pDC->StretchBlt(0,0,pBmpInfo.bmWidth,pBmpInfo.bmHeight,&mem,0,0,pBmpInfo.bmWidth,pBmpInfo.bmHeight,SRCCOPY);
if(err==0)
{
MessageBox("BitBlt Error !");
return FALSE;
}
pDC->DeleteDC();
mem.DeleteDC();
return TRUE;
}