PHP의 imagechar() 함수는 지정한 좌표에 문자를 가로 방향으로 그리는 GD 라이브러리 함수입니다. 동적으로 생성한 이미지 위에 텍스트를 출력해야 할 때 유용하게 사용됩니다.
구문
bool imagechar( img, font, x, y, ch, color )
매개변수
img: imagecreatetruecolor() 또는 imagecreate() 함수로 생성한 이미지 리소스입니다.
font: 글꼴 크기를 설정합니다. 내장 글꼴의 경우 1~5 사이의 값을 사용할 수 있으며, imageloadfont()로 불러온 사용자 정의 글꼴 식별자도 지정할 수 있습니다.
x: 문자가 그려질 위치의 x 좌표입니다.
y: 문자가 그려질 위치의 y 좌표입니다.
ch: 이미지에 그릴 문자열입니다. 이 함수는 한 글자씩만 그려집니다.
color: imagecolorallocate() 함수로 생성한 색상 식별자입니다.
반환값
imagechar() 함수는 성공하면 TRUE, 실패하면 FALSE를 반환합니다.
예제 1
다음은 imagechar() 함수를 사용하여 이미지에 문자를 그리는 기본 예제입니다:
<?php
$img = imagecreate(400, 300);
$str = 'Demo';
$bgcolor = imagecolorallocate($img, 30, 80, 70);
$textcolor = imagecolorallocate($img, 255, 255, 255);
imagechar($img, 80, 100, 90, $str, $textcolor);
header('Content-type: image/png');
imagepng($img);
?>
출력 결과
위 코드를 실행하면 청록색 배경 위에 흰색 문자가 그려진 PNG 이미지가 생성됩니다:

예제 2
이번에는 다른 좌표와 글꼴 크기를 사용하여 문자를 그려보겠습니다. 좌표와 글꼴 값을 변경하면 문자의 위치와 크기가 어떻게 달라지는지 확인할 수 있습니다:
<?php
$img = imagecreate(350, 270);
$str = 'Example';
$bgcolor = imagecolorallocate($img, 70, 100, 130);
$textcolor = imagecolorallocate($img, 200, 195, 210);
imagechar($img, 100, 50, 70, $str, $textcolor);
header('Content-type: image/png');
imagepng($img);
?>
출력 결과
실행 결과는 다음과 같습니다:

참고 사항
imagechar()는 문자를 가로 방향으로 그리는 함수입니다. 만약 문자를 세로 방향으로 그리고 싶다면 imagecharup() 함수를 사용하면 됩니다. 또한 여러 문자로 이루어진 문자열 전체를 한 번에 그리려면 imagestring() 함수를 활용하는 것이 더 효율적입니다.