Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP imagefilledpolygon() 함수로 채워진 다각형 그리기 – 문법부터 예제까지

imagefilledpolygon()은 PHP에 내장된 GD 라이브러리 함수로, 지정한 좌표들을 연결하여 색이 채워진 다각형을 이미지 위에 그려주는 함수입니다.

문법(Syntax)

bool imagefilledpolygon($image, $points, $num_points, $color)

이 함수는 네 개의 매개변수를 받으며, 성공하면 true, 실패하면 false를 반환합니다.

매개변수(Parameters)

  • $imageimagecreatetruecolor() 함수를 사용해 생성한 빈 이미지 리소스입니다. 그림이 그려질 대상 캔버스 역할을 합니다.

  • $points – 다각형의 꼭짓점 좌표를 순서대로 담고 있는 배열입니다. 각 점은 x, y 좌표 쌍으로 구성됩니다.

  • $num_points – 다각형을 이루는 꼭짓점의 총 개수입니다. 다각형이 되려면 최소 세 개 이상의 점이 필요합니다.

  • $colorimagecolorallocate() 함수로 생성한 색상 식별자입니다. 다각형 내부를 채우는 색으로 사용됩니다.

반환값(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);
?>

출력 결과

PHP imagefilledpolygon() 함수로 채워진 다각형 그리기 – 문법부터 예제까지

위 코드에서는 여섯 개의 좌표를 배열에 담아 파란색으로 채워진 다각형을 회색 배경 위에 그립니다. 마지막에는 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);
?>

출력 결과

PHP imagefilledpolygon() 함수로 채워진 다각형 그리기 – 문법부터 예제까지

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