imagecreatetruecolor()는 PHP에 내장된 함수로, 새로운 트루 컬러(true color) 이미지를 생성하는 데 사용됩니다. 이 함수는 지정한 크기의 빈 이미지를 반환하며, GD 라이브러리를 이용해 동적으로 이미지를 만들 때 가장 기본이 되는 출발점입니다.
문법(Syntax)
resource imagecreatetruecolor($width, $height)
매개변수(Parameters)
imagecreatetruecolor() 함수는 두 개의 매개변수를 받습니다.
$width − 생성할 이미지의 너비를 픽셀 단위로 지정합니다.
$height − 생성할 이미지의 높이를 픽셀 단위로 지정합니다.
반환 값(Return Values)
성공 시 이미지 리소스 식별자(image resource identifier)를 반환하고, 실패 시 false를 반환합니다.
예제 1 − 다각형 그리기
아래 예제는 트루 컬러 캔버스를 만든 뒤 배경을 채우고, 다각형을 그려 브라우저에 PNG 이미지로 출력합니다.
<?php
// 다각형의 꼭짓점 좌표 설정
$values = array(
150, 50, // 점 1 (x, y)
50, 250, // 점 2 (x, y)
250, 250 // 점 3 (x, y)
);
// 이미지 크기(빈 캔버스) 생성
$image = imagecreatetruecolor(700, 350);
// 이미지 배경색 지정
$background_color = imagecolorallocate($image, 122, 122, 122);
// 선택한 색상으로 배경 채우기
imagefill($image, 0, 0, $background_color);
// 다각형에 사용할 색상 할당
$image_color = imagecolorallocate($image, 0, 255, 255);
// 다각형 그리기
imagepolygon($image, $values, 3, $image_color);
// 브라우저로 이미지 출력
header('Content-type: image/png');
imagepng($image);
?>출력 결과

예제 2 − 새로운 GD 이미지 스트림 생성
다음 PHP 코드는 새로운 GD 이미지 스트림을 생성하고, 이미지 위에 문자열을 출력합니다. @ 연산자와 die()를 함께 사용해 이미지 생성 실패 시 안내 메시지를 표시하도록 처리했습니다.
<?php
header ('Content-Type: image/gif');
$img = @imagecreatetruecolor(550, 220)
or die('새로운 GD 이미지 스트림을 초기화할 수 없습니다');
$text_color = imagecolorallocate($img, 255, 255, 0);
imagestring($img, 10, 50, 50, 'A Simple PHP Example', $text_color);
imagepng($img);
imagedestroy($img);
?>출력 결과

정리
imagecreatetruecolor()는 빈 캔버스를 만드는 함수일 뿐이므로, 실제 이미지를 완성하려면 imagecolorallocate(), imagefill(), imagepolygon(), imagestring() 등 다른 GD 함수와 함께 사용해야 합니다. 또한 작업이 끝난 후에는 imagedestroy()를 호출하여 메모리를 해제하는 것이 좋은 습관입니다.