imageline()은 PHP에 내장된 GD 라이브러리 함수로, 지정한 두 좌표 사이에 직선을 그릴 때 사용합니다. 이미지 위에 구분선, 도형, 그래프 요소 등을 추가해야 할 때 매우 유용하게 활용됩니다.
문법(Syntax)
bool imageline(resource $image, int $x1, int $y1, int $x2, int $y2, int $color)
매개변수(Parameters)
imageline() 함수는 총 여섯 개의 매개변수를 받습니다: $image, $x1, $y1, $x2, $y2, $color.
$image − 작업 대상이 되는 이미지 리소스를 지정합니다.
$x1 − 선의 시작점 x좌표를 지정합니다.
$y1 − 선의 시작점 y좌표를 지정합니다.
$x2 − 선의 끝점 x좌표를 지정합니다.
$y2 − 선의 끝점 y좌표를 지정합니다.
$color − 선의 색상을 지정하며, imagecolorallocate() 함수로 생성한 색상 식별자를 사용합니다.
반환값(Return Values)
imageline() 함수는 선 그리기에 성공하면 true를, 실패하면 false를 반환합니다.
예제 1 − 기존 이미지에 선 추가하기
PNG 파일을 불러온 뒤, imagesetthickness()로 선의 굵기를 조절하고 노란색 가로선을 추가하는 예제입니다.
<?php
// imagecreatefrompng() 함수로 이미지 생성
$img = imagecreatefrompng('C:\xampp\htdocs\test\515.png');
// 선 색상 할당 (노란색)
$text_color = imagecolorallocate($img, 255, 255, 0);
// 선의 두께 설정
imagesetthickness($img, 5);
// imageline() 함수로 선 추가
imageline($img, 80, 300, 1140, 300, $text_color);
// 이미지 출력
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>실행 결과

예제 2 − 새 이미지에 배경과 선 그리기
imagecreate()로 빈 캔버스를 만들고, 회색 배경 위에 파란색 대각선을 그리는 예제입니다. 이처럼 색상을 다르게 지정하여 여러 개의 선을 겹쳐 그릴 수도 있습니다.
<?php
// imagecreate() 함수로 새 이미지 생성
$img = imagecreate(700, 300);
// 색상 할당
$grey = imagecolorallocate($img, 122, 122, 122);
$blue = imagecolorallocate($img, 0, 0, 255);
// 선의 두께 설정
imagesetthickness($img, 15);
// 회색 배경 선 추가
imageline($img, 0, 0, 550, 400, $grey);
// 파란색 선 추가
imageline($img, 0, 0, 550, 400, $blue);
// 이미지 출력
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>실행 결과

마무리
imageline()은 PHP GD 라이브러리에서 가장 기본적인 드로잉 함수 중 하나입니다. imagecolorallocate()로 색상을 정의하고, imagesetthickness()로 선의 굵기를 조절하면 간단한 코드만으로도 이미지 위에 원하는 형태의 선을 자유롭게 그릴 수 있습니다. 작업이 끝난 후에는 imagedestroy()를 호출하여 메모리를 해제하는 습관을 들이는 것이 좋습니다.