반응형
이전 시간에는 윈도우 좌표체계에 대해서 공부해봤습니다.
이번 시간에는 화면에 표시되는 논리좌표(윈도우가 표시되는 좌표)와 물리좌표(화면에 보이는 영역)을 맵핑하는 방법에 대해서 알아보겠습니다.
먼저 사각형을 그리도록 하겠습니다.
[결과] |
예상했던것과 같이 나란히 사각형이 그려졌습니다. 단 , -100 , -100 , 0 , 0 의 그린 사각형의 경우 보이지 않습니다.
이제 우리는 이 부분에 대해서 설명할 수 있습니다.
Rectangle함수를 통해 그리는 좌표는 논리 좌표(윈도우 좌표)이고, 화면상에 보이는 것은 물리 좌표(뷰 포트)의 영역이라는 것을 알 수 있습니다.
그럼 맵핑 함수를 통해 지금은 보이지 않는 사각형을 볼 수 있도록 해보겠습니다.
먼저 맵핑을 하는 함수에 대해서 알아보고 이후에 맵핑 모드에 대해서 알아보겠습니다.
SetViewPortOrgEx
: SetViewportOrgEx 기능은 윈도우의 원점 ( 0, 0 ) 에 매핑 하는 점을 지정합니다.
BOOL SetViewportOrgEx( _In_ HDC hdc, _In_ int X, _In_ int Y, _Out_ LPPOINT lpPoint ); |
매개 변수 | 의미 |
hdc | DC(device context)의 핸들 값을 입력합니다. |
X | 새로운 뷰포트 원점의 물리 단위로, x 좌표를 입력합니다. |
Y | 새로운 뷰포트 원점의 물리 단위로, y 좌표를 입력합니다. |
lpPoint | 이전 뷰포트 원점을 받는 포인트 구조체(POINT struct)에 대한 포인터 입니다. 해당 값이 NULL일 경우, 이 매개 변수는 사용되지 않습니다. |
SetWindowOrgEx
: SetWindowOrgEx 기능은 뷰포트의 원점 ( 0, 0 ) 에 매핑 하는 점을 지정합니다.
BOOL SetWindowOrgEx( _In_ HDC hdc, _In_ int X, _In_ int Y, _Out_ LPPOINT lpPoint ); |
매개 변수 | 의미 |
hdc | DC(device context)의 핸들 값을 입력합니다. |
X | 새로운 윈도우 원점의 논리 단위로, x 좌표를 입력합니다. |
Y | 새로운 윈도우 원점의 논리 단위로, y 좌표를 입력합니다. |
lpPoint | 이전 윈도우 원점을 받는 포인트 구조체(POINT struct)에 대한 포인터 입니다. 해당 값이 NULL일 경우, 이 매개 변수는 사용되지 않습니다. |
이 중에 SetViewPortOrgEx가 많이 사용되게 됩니다.
그럼 SetViewPortOrgEx을 사용해보겠습니다.
[결과] |
SetViewPortOrgEx를 통해 기존에 Origin을 x,y 값을100픽셀씩 당겨서 표시하였습니다.
이제 숨겨졌던 사각형이 보이게 됩니다.
(참고) 윈도우즈 API 정복 - 2 [김상형 저]
반응형
'프로그래밍 관련 > Win API' 카테고리의 다른 글
WIndows API - #11-1 그래픽 처리 - (특정 색상 제거 , 크기 변경) (0) | 2015.10.19 |
---|---|
WIndows API - #10-3 그래픽 처리 - (맵핑 - 좌표 공간과 변환) (0) | 2015.10.11 |
WIndows API - #10-1 그래픽 처리 - (맵핑 - 윈도우 좌표) (0) | 2015.10.10 |
WIndows API - #9-7 그래픽 처리 - (여러개의 DC 이미지 출력하기) (2) | 2015.10.09 |
WIndows API - #9-6 그래픽 처리 - (더블 버퍼링 - 자세히 보기)(2) (0) | 2015.09.07 |