//绘制图片<1>:
CImage m_bmp;
HRESULT hResult = m_bmp.Load(L"res.bmp");
if (FAILED(hResult))
{
//Load()加载图片出错
return ;
}
CBitmap bmp;
//获得加载图片的句柄
bmp.Attach(m_bmp);
//获取图片格式
BITMAP bmInfo;
bmp.GetBitmap(&bmInfo);
//创建设备内存
CDC dcMem;
dcMem.CreateCompatibleDC(GetDC());
CBitmap *pOldmap=(CBitmap*)dcMem.SelectObject(bmp);
if ( NULL == pOldmap )
{
return;
}
//该函数可以设置指定设备环境中的位图拉伸模式.防止StretchBlt()函数拉伸图片时失真.
SetStretchBltMode(pDC->m_hDC,STRETCH_HALFTONE);
//绘制位图
int rt = pDC->StretchBlt(pos.x,pos.y,/*目标长*/,/*目标宽*/,&dcMem,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);
//绘制图片<2>:
CBitmap* m_bmpTitle;
m_bmpTitle->LoadBitmap(图片资源ID);
if (m_bmpTitle)
{
CBitmap * pOldBmp = NULL;
CDC srcDC;
srcDC.CreateCompatibleDC( pDC );
if (NULL != m_bmpTitle->m_hObject)
{
pOldBmp = srcDC.SelectObject( m_bmpTitle );
if ( NULL != pOldBmp )
{
BITMAP bmInfo;
VERIFY( m_bmpLabel->GetObject(sizeof(bmInfo), &bmInfo) == sizeof(bmInfo) );
//绘制位图
int rt = pDC->BitBlt( /*目标x*/, /*目标y*/,bmInfo.bmWidth, bmInfo.bmHeight, &srcDC, 0, 0, SRCCOPY );
}
}
}
//绘制图片<3>:
HBITMAP hbmp;
hbmp = SHLoadDIBitmap(L"res.bmp");
if(hbmp)
{
CBitmap bmp;
//获得加载图片的句柄
bmp.Attach(hbmp);
//获取图片格式
BITMAP bmInfo;
bmp.GetBitmap(&bmInfo);
//创建设备内存
CDC dcMem;
dcMem.CreateCompatibleDC(GetDC());
CBitmap *pOldmap=(CBitmap*)dcMem.SelectObject(bmp);
if ( NULL == pOldmap )
{
return;
}
SetStretchBltMode(pDC->m_hDC,STRETCH_HALFTONE);
int rt = pDC->StretchBlt(pos.x,pos.y,/*目标长*/,/*目标宽*/,&dcMem,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);//绘制位图
}
//绘制图片<4>:
CBitmap m_bmp;
if( m_bmp.m_hObject != NULL )
m_bmp.DeleteObject();
CImage hbmp;
HRESULT hResult = hbmp.Load(L"RES.bmp");
if (FAILED(hResult))
{
//加载图片出错
return ;
}
m_bmp.Attach( hbmp );
//获取picture控件DC
CPaintDC dc(GetDlgItem(IDC_STATIC));
CRect rcclient;
//获取picture控件大小位置
GetDlgItem(IDC_STATIC)->GetClientRect(&rcclient);
//图片信息
BITMAP bmInfo;
m_bmp.GetBitmap(&bmInfo);
//创建设备内存
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap *pOldmap=(CBitmap*)dcMem.SelectObject(m_bmp);
if ( NULL == pOldmap )
{
return;
}
SetStretchBltMode(dc.m_hDC,STRETCH_HALFTONE);
//在picture控件上显示图片
int rt = dc.StretchBlt(rcclient.left,rcclient.top,rcclient.Width(),rcclient.Height(),&dcMem,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);
}
//TCHAR path[50] = L"RES.bmp";
//hbmp = (HBITMAP)::LoadImage(NULL,path,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);