임의의 다각형을 그리기 위해서는 polylines() 함수를 사용할 수 있습니다. polylines() 함수에는 다각형의 꼭지점 좌표를 전달해야 하며, 꼭지점 좌표는 보통 vector<Point> 자료형에 저장하여 전달합니다. polylines() 함수 원형은 다음과 같습니다.
void polylines(InputOutputArray img, InputArrayOfArrays pts, bool isClosed, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0); |
|
• img |
입출력 영상 |
• pts |
다각형 외곽 점들의 좌표 배열. 주로 vector<Point> 타입 |
• isClosed |
다각형이 닫혀 있는지를 나타내는 플래그. 이 값이 true이면 다각형의 마지막 꼭지점과 첫 번째 꼭지점을 잇는 직선을 추가로 그립니다. |
• color |
선 색상 |
• thickness |
선 두께. 이 값이 음수(-1 또는 FILLED)이면 내부를 채웁니다. |
• lineType |
선 타입 |
• shift |
그리기 좌표 값의 축소 비율(오른쪽 비트 시프트(>>) 연산) |
사각형, 원, 타원, 다각형 그리기 함수를 사용하여 그림을 그리는 예제 코드를 코드 4-7에 나타냈습니다. 코드 4-7의 drawPolys() 함수는 흰색으로 초기화된 400×400 크기의 영상에 다양한 사각형, 원, 타원, 다각형을 그려서 화면에 출력합니다. drawPolys() 함수가 정의된 소스 파일은 내려받은 예제 파일 중 ch04/drawing 프로젝트에서 확인할 수 있습니다.