CRect rcDIB;
GetClientRect(&rcDIB);
pDC->SetMapMode(MM_ANISOTROPIC);
//使坐标的原点位于窗口的中心
pDC->SetViewportOrg(rcDIB.right/2,rcDIB.bottom/2);
pDC->SetViewportExt(rcDIB.right,rcDIB.bottom);
pDC->SetWindowOrg(0,0);
pDC->SetWindowExt(3000,-3000);
//获取DIB宽度
int CXDIB=(int)::DIBWidth(LpDIB);
//获取DIB高度度
int CYDIB=(int)::DIBHeight(LpDIB);
//编码使DIB在RECT中居中显示!
rcDIB.top=CXDIB/2;
rcDIB.left=-CYDIB/2;
rcDIB.right=CYDIB/2;
rcDIB.bottom=-CXDIB/2;
//这一句应该怎么写,偶不会
rcDIB.CenterPoint=(0,0);
GetClientRect(&rcDIB);
pDC->SetMapMode(MM_ANISOTROPIC);
//使坐标的原点位于窗口的中心
pDC->SetViewportOrg(rcDIB.right/2,rcDIB.bottom/2);
pDC->SetViewportExt(rcDIB.right,rcDIB.bottom);
pDC->SetWindowOrg(0,0);
pDC->SetWindowExt(3000,-3000);
//获取DIB宽度
int CXDIB=(int)::DIBWidth(LpDIB);
//获取DIB高度度
int CYDIB=(int)::DIBHeight(LpDIB);
//编码使DIB在RECT中居中显示!
rcDIB.top=CXDIB/2;
rcDIB.left=-CYDIB/2;
rcDIB.right=CYDIB/2;
rcDIB.bottom=-CXDIB/2;
//这一句应该怎么写,偶不会
rcDIB.CenterPoint=(0,0);
CBitmap* m_pBitmap;//位图
BITMAP m_bmpInfo; //位图信息(大小等) 2,在afx_msg BOOL OnEraseBkgnd(CDC* pDC)中: //获得客户区大小
CRect rc;
GetClientRect(&rc);
CClientDC dc(this);
OnPrepareDC(&dc);
dc.LPtoDP(&rc);
CDC dcMem;
HBITMAP hbit;
dcMem.CreateCompatibleDC(&dc);
hbit = (HBITMAP)dcMem.SelectObject(m_pBitmap);
//获得位图信息
m_pBitmap->GetObject(sizeof(BITMAP),&m_bmpInfo); //把整个位图在客户区中心显示
GetDC()->StretchBlt(rc.left+10,rc.top+10,rc.right-rc.left-20,rc.bottom-rc.top-20,&dcMem,0,0,m_bmpInfo.bmWidth,m_bmpInfo.bmHeight,SRCCOPY);
DeleteDC(dcMem);