본문 바로가기

BitBlt4

MFC-CImage 클래스 기존의 이미지를 출력하는 방식이 아닌 MFC에서 추가된 CImage를 사용해 보자. // View::OnPaint() // 이미지가 저장된 위치 CString strImagePath = _T("Image.bmp"); // CImage 클래스 변수를 생성한다. CImage Image; // 저장 된 위치에 이미지를 불러온다. HRESULT hResult = Image.Load( strImagePath ); // 이미지를 불러 오는데 실패 했을 경우. if( FAILED( hResult ) ) { CString strtmp = _T("ERROR : Failed to load"); strtmp += strImagePath + _T("\n"); TRACE(strtmp); return; } // 프로그램이 종료 .. 2010. 5. 17.
MFC-비트맵 띄우기 MFC의 비트맵도 API와 매우 흡사하다. 일단 비트맵 리소스를 하나 추가하자. 다음과 같은 비트맵이 있다고 하였을 때, 이제 이 비트맵을 가지고 띄우는 일과, 투명값, 알파값, 사이즈 조정등을 하나하나 해보도록 하자. 기본적으로 리소스에 존재하는 이미지를 띄우는 개념에 대해서는 구지 설명하지 않고, 소스 위주로 보도록 하자. 먼저 프로젝트에 WM_PAINT 메시지를 하나 만들자. CDC MemDC; BITMAP bmpInfo; // dc에 대해 메모리DC를 만들어 준다. MemDC.CreateCompatibleDC( &dc ); CBitmap bmp; CBitmap* pOldBmp = NULL; // 비트맵 로드 bmp.LoadBitmap( IDB_BITMAP1 ); // 비트맵에 정보를 저장 bmp... 2010. 5. 16.
API-애니메이션 애니메이션의 기본은 여러장, 또는 한장이지만 부분별로 쪼개어 번갈아 가면서 계속 보여줌으로써 애니메이션을 연출 할 수 있다. 긴 설명이 필요 할거 같지는 않고, 다음의 이미지를 번갈아서 출력한다고 생각해 보자. 이미지의 크기는 x축 48*12, y출 48이다. 따로 애니메이션을 플레이 해주는 함수가 존재하는 것은 아니고, BitBlt 함수를 사용해 간단하게 화면에 뿌려 줄 수 있다. 예제를 보면 쉽게 이해 할 수 있다. #include #include "resource.h" int frame; HBITMAP hBitDice; LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ); HINSTANCE g_hInst; LPCTSTR lpszClass = TEXT(".. 2010. 5. 10.
API-BitMap 비트맵을 사용하기 위한 예제, #include #include "resource.h" LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ); HINSTANCE g_hInst; LPCTSTR lpszClass = TEXT("Bitmap"); int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow ) { HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst = hInstance; WndClass.cbClsExtra = 0; WndClass.cbWndExtra = 0; WndClass.hbrBackgrou.. 2010. 4. 24.