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

PHP imagearc() 함수 사용법 – 이미지에 원호(호) 그리기

PHP의 imagearc() 함수는 GD 라이브러리를 통해 이미지 위에 원호(arc), 즉 호를 그리는 데 사용되는 함수입니다. 부분적인 원이나 타원의 곡선을 자유롭게 표현할 수 있어 차트, 다이어그램, 게임 그래픽 등을 생성할 때 유용하게 활용됩니다.

문법(Syntax)

imagearc($img, $cx, $cy, $width, $height, $start, $end, $color)

매개변수(Parameters)

  • $img: imagecreatetruecolor() 함수로 생성한 이미지 리소스입니다.

  • $cx: 원호의 중심점 x좌표입니다.

  • $cy: 원호의 중심점 y좌표입니다.

  • $width: 원호의 너비입니다.

  • $height: 원호의 높이입니다.

  • $start: 원호가 시작되는 각도로, 도(degree) 단위로 지정합니다.

  • $end: 원호가 끝나는 각도로, 도(degree) 단위로 지정합니다.

  • $color: imagecolorallocate()로 생성한 색상 식별자로, 원호의 색을 설정합니다.

반환값(Return)

imagearc() 함수는 성공 시 TRUE를, 실패 시 FALSE를 반환합니다.

예제 1

다음은 imagearc() 함수를 사용하여 두 개의 서로 다른 원호를 그리는 예제입니다.

<?php
   $img = imagecreatetruecolor(200, 200);
   $one = imagecolorallocate($img, 100, 50, 255);
   $two = imagecolorallocate($img, 30, 255, 150);  
   imagearc($img, 100, 100, 200, 200, 0, 360, $one);
   imagearc($img, 130, 50, 100, 150, 25, 155, $two);
   header("Content-type: image/png");
   imagepng($img);
   imagedestroy($img);
?>

실행 결과

위 코드를 실행하면 보라색으로 그려진 완전한 원과 초록색의 부분 원호가 함께 표시된 PNG 이미지가 출력됩니다.

예제 2

이번에는 중심 좌표와 각도를 다르게 설정하여 원호를 그려보겠습니다.

<?php
$img = imagecreatetruecolor(250, 250);
$one = imagecolorallocate($img, 100, 90, 255);
$two = imagecolorallocate($img, 100, 255, 190);  
imagearc($img, 130, 100, 200, 200, 0, 360, $one);
imagearc($img, 140, 50, 140, 150, 95, 155, $two);
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

실행 결과

위 코드를 실행하면 250×250 크기의 캔버스에 보라색 원과 청록색 곡선이 배치된 이미지가 출력됩니다.

정리

imagearc() 함수는 시작 각도와 끝 각도를 조절해 원의 일부만 그릴 수 있으며, 0도에서 360도까지 지정하면 완전한 원이 됩니다. 또한 너비와 높이 값을 다르게 입력하면 타원 형태의 호도 손쉽게 그릴 수 있습니다. 이미지 작업이 끝난 후에는 imagedestroy() 함수로 메모리를 해제하는 것이 좋습니다.