1. 한글 폰트 준비하기
다음 링크를 클릭하여 배달의민족 을지로체 폰트 (font) 다운로드 페이지를 연다.
https://www.utoimage.com/?m=goods.free&mode=view&idx=21582257
TTF 버튼을 클릭하여 폰트 파일을 다운로드한다.
폰트 파일의 이름은 ‘xxxxxxxx_배민을지로체_TTF.ttf’ 이다. 이 이름을 eul-ji-ro.ttf 와 같이 짧게 변경한다.
폰트 파일을 PHP 소스 파일이 있는 디렉토리로 복사한다.
2. 이미지 오브젝트 생성
트루 컬러 (true color) 이미지 오브젝트 (object) 를 생성한다.
$im = imagecreatetruecolor(640, 480);
색상 식별자 (identifier) 에 검정색을 할당한다.
$black = imagecolorallocate($im, 0, 0, 0);
색상 식별자 (identifier) 에 흰색을 할당한다.
$white = imagecolorallocate($im, 255, 255, 255);
이미지의 배경을 검정색으로 채운다.
imagefilledrectangle($im, 0, 0, 639, 479, $black);
3. 이미지에 한글 텍스트 추가하기
폰트의 크기를 지정한다.
$size = 75;
텍스트가 표시되는 각도를 도 단위로 지정한다. 0 도일 때 텍스트가 수평으로 표시된다.
$angle = 37;
텍스트 시작 위치의 X 좌표를 지정한다.
$x = 120;
텍스트 시작 위치의 Y 좌표를 지정한다.
$y = 430;
앞에서 준비한 폰트 파일의 경로를 지정한다.
$font_filename = ‘./eul-ji-ro.ttf’;
텍스트의 내용을 지정한다.
$text = “배민 을지로체”;
텍스트를 이미지에 쓴다. imagettftext() 함수를 사용한다.
imagettftext($im, $size, $angle, $x, $y, $white, $font_filename, $text);
텍스트가 추가된 이미지는 다음과 같다.
4. 브라우저에 이미지 출력하기
이미지 출력을 위한 HTTP 헤더를 보낸다.
header(‘Content-type: image/png’);
브라우저에 이미지를 출력한다.
imagepng($im);
이미지 오브젝트를 메모리에서 클리어 (clear) 한다.
imagedestroy($im);
5. 전체 PHP 소스 코드
<?php
$im = imagecreatetruecolor(640, 480);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 639, 479, $black);
$size = 75;
$angle = 37;
$x = 120;
$y = 430;
$font_filename = './eul-ji-ro.ttf';
$text = "배민 을지로체";
imagettftext($im, $size, $angle, $x, $y, $white, $font_filename, $text);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>