'MFC'에 해당되는 글 1건

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

전형적인 이미지 출력


- 리소스로 등록된 비트맵 이미지를 메모리 DC에 로드하여 화면 DC로 출력(BitBlt())하는 것.



비트맵(Bitmap)


- 장치 의존적인 비트맵(DDB, Device Dependent Bitmap)

- 장치 독립적인 비트맵(DIB, Device Independent Bitmap)


현재 우리가 알고 있는 비트맵 파일은 모두 DIB이고, 비트맵을 우리 눈으로 보려면 DDB로 변환해야 한다.


1 Pixel: 24비트(R: 8bit, G: 8bit, B: 8bit)

트루컬러(32비트 비트맵 이미지): 24비트(RBG) + 알파채널(8비트)





void CBmpDisplayDemoView::OnPaint()

{

CPaintDC dc(this); //  device context for painting

// 화면 DC


CDC MemDC;

BITMAP bmpInfo; // 비트맵 구조체


MemDC.CreateCompatibleDC(&dc); // 화면 DC와 호환되는 메모리 DC를 생성한다.

// 출력할 화면과 호환되도록 DC를 먼저 생성해야한다.


CBitmap bmp; // 비트맵 클래스

// CBitmap *pOldBmp = NULL;

bmp.LoadBitmapW(IDB_Test_Image); // 비트맵 리소스를 로딩한다.


bmp.GetBitmap(&bmpInfo); // 로딩된 비트맵의 정보(비트맵 구조체에 저장되어있는)를 알아본다.


CBitmap *pOldBmp = MemDC.SelectObject(&bmp); // 메모리 DC에 비트맵을 선택하도록 한다.


dc.BitBlt(0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, &MemDC, 0, 0, SRCCOPY); // 메모리 DC에 들어있는 비트맵을 화면 DC로 복사하여 출력한다.


MemDC.SelectObject(pOldBmp);

// TODO: 여기에 메시지 처리기 코드를 추가합니다.

// 그리기 메시지에 대해서는 CView::OnPaint()을(를) 호출하지 마십시오.

}



'language > MFC' 카테고리의 다른 글

CDC::SelectObject()  (0) 2016.05.07
CDC::Bitblt()  (0) 2016.05.07
MFC 코드의 기본 구조  (0) 2016.05.07
CWnd Class  (0) 2016.05.07
키보드 입력  (0) 2016.04.29
블로그 이미지

saylin

,