메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

C/C++/MFC

[BITMAP]더블 버퍼링..

2006.07.07 16:16

WhiteAT 조회 수:11405

#include "Dib.h"  // 필요한 파일


초기화
    CDC* pDC = pView->GetDC();
    ASSERT(pDC);
    m_dcCompat.CreateCompatibleDC(pDC);
    pView->ReleaseDC(pDC);
    // Allocate memory for the bitmap
    m_pDib = new CDib(CSize(200,290), 24);            // bits per pixel
    VERIFY(m_pDib->CreateSection(&m_dcCompat));      // allocate memory for bitmap



그림 로드
        m_bmpBoard.LoadBitmap( IDB_BACKBOARD );     // 배경그림 로드
        m_bmpBlack27.LoadBitmap( IDB_BLACK_27 );     //
        m_bmpBlack37.LoadBitmap( IDB_BLACK_37 );     //  
        m_bmpWhite37.LoadBitmap( IDB_WHITE_SPOT_37 );     //
        m_bmpBlank37.LoadBitmap( IDB_BLANK_37 );     //

사용
// pDC 로 사용하면 된다.
        CClientDC pDC(pView);
        CBitmap *pOldBitmap;
        pOldBitmap = (CBitmap *)m_dcCompat.SelectObject(&m_bmpBoard);   // 새로운 Bitmap 설정
        pDC.BitBlt(0, 0, 500, 500, &m_dcCompat, 0, 0, SRCCOPY);



 메모리 해제

pDC->DeleteDC();
pOldBitmap->DeleteDC();
m_bmpBoard.DeleteDC();
m_bmpBoard.DeleteDC();