imagesetthickness() 함수는 PHP의 GD 라이브러리에 내장된 함수로, 이미지 위에 선이나 도형을 그릴 때 선의 두께를 픽셀 단위로 지정할 수 있게 해줍니다. 기본적으로 PHP에서 선을 그리면 1픽셀 두께로 표시되지만, 이 함수를 활용하면 더 굵고 눈에 띄는 선을 손쉽게 만들 수 있습니다.
문법(Syntax)
bool imagesetthickness($image, $thickness)
매개변수(Parameters)
imagesetthickness() 함수는 두 개의 매개변수를 받습니다.
$image − imagecreatetruecolor()와 같은 이미지 생성 함수가 반환한 이미지 리소스입니다. 작업 대상이 되는 이미지의 크기와 정보를 담고 있습니다.
$thickness − 설정할 선의 두께를 픽셀 단위의 정수 값으로 지정합니다.
반환 값(Return Values)
imagesetthickness() 함수는 성공 시 true를 반환하고, 실패 시 false를 반환합니다.
예제 1: 사각형 테두리 두께 설정하기
아래 예제는 파란색 배경 위에 두께 10픽셀의 흰색 사각형을 그리는 코드입니다.
<?php
// 주어진 크기의 이미지 생성
$img = imagecreatetruecolor(700, 300);
$blue = imagecolorallocate($img, 0, 0, 255);
$white = imagecolorallocate($img, 0xff, 0xff, 0xff);
// 파란색 배경 채우기
imagefilledrectangle($img, 0, 0, 700, 300, $blue);
// 선 두께를 10으로 설정
imagesetthickness($img, 10);
// 사각형 그리기
imagerectangle($img, 30, 30, 200, 150, $white);
// 브라우저에 이미지 출력
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
?>실행 결과
위 코드를 실행하면 두께가 10픽셀인 흰색 테두리의 사각형이 파란색 배경 위에 그려집니다.

예제 2: 직선 두께 설정하기
이번에는 imageline() 함수와 함께 두께 50픽셀의 굵은 직선을 그려보겠습니다.
<?php
// imagecreatetruecolor() 함수로 주어진 크기의 이미지 생성
$img = imagecreatetruecolor(700, 300);
$blue = imagecolorallocate($img, 0, 0, 255);
$white = imagecolorallocate($img, 0xff, 0xff, 0xff);
// 파란색 배경 채우기
imagefilledrectangle($img, 0, 0, 700, 300, $blue);
// 선 두께를 50으로 설정
imagesetthickness($img, 50);
// 흰색 직선 그리기
imageline($img, 50, 150, 650, 150, $white);
// 브라우저에 이미지 출력
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
?>실행 결과
두께 50픽셀의 굵은 흰색 가로선이 파란색 배경 위에 나타납니다.

정리
imagesetthickness() 함수는 한 번 호출하면 이후에 그리는 모든 선(imageline, imagerectangle 등)에 두께 설정이 적용됩니다. 따라서 다양한 두께의 선을 혼합해서 그리고 싶다면, 각 선을 그리기 전에 필요할 때마다 두께를 다시 설정해 주어야 합니다. 또한 이 함수를 사용하려면 서버에 GD 라이브러리가 설치되어 있어야 한다는 점도 기억해 두세요.