05-13 01:49
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[C/C++] MFC / 비트맵 출력하기 본문

Programming/C&C++

[C/C++] MFC / 비트맵 출력하기

cinema4dr12 2014. 6. 14. 23:17


  Project Name

  BmpDisplay

  Application Type

  Single Document

  Document/View Architecture Support

  Yes

  Resource

  한국어

  Use Unicode Libraries

  Yes

  Project Style

  MFC Standard

  Visual Style and Colors

  Windows Native/Default

  Use of MFC  Use MFC in a shared DLL

 

[비트맵 파일 추가]

Resource View > BmpDisplay > RMB > Add > Resource...


Bitmap > Import > 불러올 비트맵 이미지 파일 선택


비트맵 ID를 "IDB_TEST_IMG"로 변경



[View 클래스에 WM_PAINT 메시지 핸들러 함수 등록 및 코딩]

Class View > Properties > Messages > WM_PAINT > Add > OnPaint


void CBmpDisplayView::OnPaint()
{
	CPaintDC dc(this); // device context for painting

	// TODO: Add your message handler code here
	// Do not call CView::OnPaint() for painting messages
	CDC MemDC;
	BITMAP bmpInfo;

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

	// 비트맵 리소스 로딩
	CBitmap bmp;
	CBitmap* pOldBmp = NULL;
	bmp.LoadBitmapW(IDB_TEST_IMG);

	// 로딩된 비트맵 정보 확인
	bmp.GetBitmap(&bmpInfo);

	// 메모리 DC에 선택
	pOldBmp = MemDC.SelectObject(&bmp);

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

	MemDC.SelectObject(pOldBmp);
}



[솔루션 빌드 및 실행]

Ctrl + Shift + B

Ctrl + F5




Comments