imagefilledpolygon()은 PHP에 내장된 GD 라이브러리 함수로, 지정한 좌표들을 연결하여 색이 채워진 다각형을 이미지 위에 그려주는 함수입니다.
문법(Syntax)
bool imagefilledpolygon($image, $points, $num_points, $color)
이 함수는 네 개의 매개변수를 받으며, 성공하면 true, 실패하면 false를 반환합니다.
매개변수(Parameters)
$image –
imagecreatetruecolor()함수를 사용해 생성한 빈 이미지 리소스입니다. 그림이 그려질 대상 캔버스 역할을 합니다.$points – 다각형의 꼭짓점 좌표를 순서대로 담고 있는 배열입니다. 각 점은 x, y 좌표 쌍으로 구성됩니다.
$num_points – 다각형을 이루는 꼭짓점의 총 개수입니다. 다각형이 되려면 최소 세 개 이상의 점이 필요합니다.
$color –
imagecolorallocate()함수로 생성한 색상 식별자입니다. 다각형 내부를 채우는 색으로 사용됩니다.
반환값(Return Values)
다각형 그리기에 성공하면 true를, 실패하면 false를 반환합니다.
예제 1: 여섯 개의 꼭짓점으로 다각형 그리기
<?php
// 다각형의 꼭짓점 좌표 배열 설정
$values = array(
40, 50, // Point 1 (x, y)
20, 240, // Point 2 (x, y)
60, 60, // Point 3 (x, y)
240, 20, // Point 4 (x, y)
50, 40, // Point 5 (x, y)
10, 10 // Point 6 (x, y)
 );
// imagecreatetruecolor()로 빈 이미지 생성
$img = imagecreatetruecolor(700, 350);
// 회색과 파란색 색상 할당
$bg = imagecolorallocate($img, 122, 122, 122);
$blue = imagecolorallocate($img, 0, 0, 255);
// 배경 채우기
imagefilledrectangle($img, 0, 0, 350, 350, $bg);
// 다각형 그리기
imagefilledpolygon($img, $values, 6, $blue);
// 이미지 출력
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>
출력 결과

위 코드에서는 여섯 개의 좌표를 배열에 담아 파란색으로 채워진 다각형을 회색 배경 위에 그립니다. 마지막에는 imagedestroy()를 호출해 메모리에서 이미지 리소스를 해제하는 것이 좋습니다.
예제 2: 다섯 개의 꼭짓점으로 오각형 그리기
<?php
// 다각형의 꼭짓점 좌표 설정
$values = array(
150, 50, // Point 1 (x, y)
55, 119, // Point 2 (x, y)
91, 231, // Point 3 (x, y)
209, 231, // Point 4 (x, y)
245, 119 // Point 5 (x, y)
 );
// 빈 이미지 생성
$img = imagecreatetruecolor(700, 350);
// 회색 배경색 설정
$bg = imagecolorallocate($img, 122, 122, 122);
// 빨간색 설정
$red = imagecolorallocate($img, 255, 0, 0);
// 배경 채우기
imagefilledrectangle($img, 0, 0, 350, 350, $bg);
// 다각형 그리기
imagefilledpolygon($img, $values, 5, $red);
// 이미지 출력
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>
출력 결과

두 번째 예제는 다섯 개의 꼭짓점을 사용해 빨간색으로 채워진 오각형을 그리는 코드입니다. 이처럼 imagefilledpolygon() 함수는 꼭짓점 개수만 조절하면 삼각형부터 복잡한 다각형까지 자유롭게 표현할 수 있습니다.