가변비율
BOOL SetWindowExtEx(HDC, int, int, LPSIZE);
논리적인 우측 하단 값 설정.
BOOL SetViewportExtEx(HDC, int, int, LPSIZE);
실제 윈도우 창의 우측 하단 값 설정.
※ 선이나 면 부분만 확대가 됨.
예제)
SetMapMode(hDC,MM_ANISOTROPIC);
SetWindowExtEx(hDC,x,y,NULL);
SetViewportExtEx(hDC,x',y',NULL);
그림에 사용하는 좌표(논리) x,y는 x',y'좌표로 확대 혹은 축소 되어 출력된다.
비트맵
File -> New -> Files -> Resource script 선택.
Insert/Resource -> Import -> 준비한 비트맵 파일 선택.
소스
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hDC,hMemDC;
PAINTSTRUCT ps;
static HBITMAP hBitmap,hOld;
switch(iMessage)
{
case WM_CREATE:
LPCREATESTRUCT lpcs;
lpcs = (LPCREATESTRUCT)lParam;
hBitmap = LoadBitmap(lpcs->hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
return 0;
case WM_PAINT:
hDC = BeginPaint(hWnd,&ps);
hMemDC = CreateCompatibleDC(hDC);
hOld = (HBITMAP)SelectObject(hMemDC,hBitmap);
BitBlt(hDC,0,0,542,553,hMemDC,0,0,SRCCOPY);
SelectObject(hMemDC,hOld);
DeleteDC(hMemDC);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
DeleteObject(hBitmap);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,iMessage,wParam,lParam);
}
'컴퓨터 공부 > Win32 API 프로그래밍' 카테고리의 다른 글
[숙제] 맵핑모드 (0) | 2009.05.01 |
---|---|
[4월 30일 3교시] 그래픽4 + 컨트롤 (0) | 2009.04.30 |
[4월 30일 1교시] 그래픽2 (0) | 2009.04.30 |
[스터디] 윈도우즈 API 정복1 - 8장 대화상자. (0) | 2009.04.30 |
[4월 29일 3교시] 리소스2 + 그래픽1 (0) | 2009.04.29 |