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

PHP imagecreatetruecolor() 함수로 새로운 트루 컬러 이미지 생성하기

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);
?>

출력 결과

PHP imagecreatetruecolor() 함수로 새로운 트루 컬러 이미지 생성하기

예제 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);
?>

출력 결과

PHP imagecreatetruecolor() 함수로 새로운 트루 컬러 이미지 생성하기

정리

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