阅读:2458回复:2
作图坐标设置?(bitblt使用)
在gdi作图中,为了避免屏幕的闪烁,我创建了一个和要显示图形pdc的兼容的内存dc对像和位图对象。
然后把pdc和兼容的dc的坐标原点都设在整个窗口客户的中心。如下: CDC MemDC; MemDC.CreateCompatibleDC(pDC); CBitmap MemBitmap; MemBitmap.CreateCompatibleBitmap(pDC, cr.right, cr.bottom); CBitmap* pOldBitmap = MemDC.SelectObject(&MemBitmap); pDC->SetMapMode(MM_ANISOTROPIC); pDC->SetWindowOrg(0, 0); pDC->SetViewportOrg(cr.right/2, cr.bottom / 2); pDC->SetWindowExt(cr.right, cr.bottom); pDC->SetViewportExt(cr.right, -cr.bottom); pMemDC->SetMapMode(MM_ANISOTROPIC); pMemDC->SetWindowOrg(0, 0); pMemDC->SetViewportOrg(cr.right/2, cr.bottom / 2); pMemDC->SetWindowExt(cr.right, cr.bottom); pMemDC->SetViewportExt(cr.right, -cr.bottom); pMemDC->MoveTo(0, 0); pMemDC->LineTo(cr.right/2, cr.bottom/2); pDC->BitBlt(-cr.right / 2, cr.bottom / 2, cr.right, cr.bottom, &MemDC, -cr.right / 2, cr.bottom / 2, SRCCOPY); MemDC.SelectObject(pOldBitmap); pWnd->ReleaseDC(pDC); 但是我在窗口中看不到我画的图形,我想是bitblt的参数没有设置对,或是前面的坐标映射的关系没有对。请各位高手指点一下,谢谢! |
|
沙发#
发布于:2005-05-16 12:14
代码问题比较多!
应该用CClientDC;MemBitmap没有初始化;BitBlt参数不对等等. 如果方便,把工程贴出来. |
|
|
板凳#
发布于:2005-05-17 09:40
谢谢你的回复,问题我已解决了!!
|
|