Nagie's DevStory
[WIN32 API] 07. 사각형 그리기 본문
728x90
Win32 API에서 사각형을 그리고 싶다면 Rectangle()을 사용하면 되고
이 함수는 앞서 설명한 Ellipse()와 같이 Windows GDI(Graphics Device Interface) 라이브러리에 속하며
wingdi.h에 선언된 Rectangle()을 보면 다음과 같다.
BOOL Rectangle(
HDC hdc, // 디바이스 컨텍스트 핸들
int left, // 왼쪽 상단 모퉁이의 x 좌표
int top, // 왼쪽 상단 모퉁이의 y 좌표
int right, // 오른쪽 하단 모퉁이의 x 좌표
int bottom // 오른쪽 하단 모퉁이의 y 좌표
);
Ellipse()와 동일한 매개변수를 가지고 있으며 각 매개변수는 다음과 같은 역할을 한다.
인자 | 설명 |
hdc | 그림을 그릴 디바이스 컨텍스트 핸들 |
left, top | 사각형의 왼쪽 상단 모퉁이의 좌표 |
right, bottom | 사각형의 오른쪽 하단 모퉁이의 좌표 |
다음은 좌표 200,200에서 크기 100,100을 가지는 사각형을 그리는 코드의 예시다.
// 사각형 그리기
Rectangle(hdc, 200, 200, 300, 300);
Rectangle() 역시 Ellipse()와 동일하게 좌푯값을 기재하는 부분이 직관적이지 못해 따로 래핑을 해봤다.
void drawRect(HDC hdc, int startX, int startY, int width, int height) {
Rectangle(hdc, startX, startY, width + startX, height + startY);
}
drawRect(hdc,200,200,100,100); //좌표X, 좌표Y, 사각형의 폭, 사각형의 높이 순서로 입력
728x90
Comments