Categories
PHP

imagettftext() 함수: PHP 에서 이미지에 텍스트 추가하기

1. 이미지 오브젝트 생성

이미지 파일을 읽어들여 이미지 오브젝트 (object) 를 생성한다.

$im = imagecreatefrompng(‘cloud.png’);

다음은 읽어들인 cloud.png 파일이다.

2. 이미지에 텍스트 추가하기

텍스트의 색상을 파랑으로 지정한다.

$blue = imagecolorallocate($im, 0, 0, 255);

폰트 사이즈를 지정한다.

$size = 55;

텍스트가 표시되는 각도를 지정한다. 0 으로 지정하면 텍스트가 수평으로 표시된다.

$angle = 0;

텍스트 시작 위치의 X 좌표를 지정한다.

$x = 45;

텍스트 시작 위치의 Y 좌표를 지정한다.

$y = 200;

폰트 파일의 경로를 지정한다.

$font_filename = ‘./DejaVuSansMono-Bold.ttf’;

텍스트의 내용을 지정한다.

$text = “xtmci.com”;

이미지 오브젝트에 텍스트를 쓴다. imagettftext() 함수를 사용한다.

imagettftext($im, $size, $angle, $x, $y, $blue, $font_filename, $text);

3. 브라우저에 이미지 출력하기

이미지 출력을 위한 HTTP 헤더를 보낸다.

header(‘Content-type: image/png’);

브라우저에 이미지를 출력한다.

imagepng($im);

다음은 브라우저에 출력된 이미지이다.

이미지 오브젝트를 클리어 (clear) 한다.

imagedestroy($im);

4. 전체 PHP 소스 코드

<?php
$im = imagecreatefrompng('2023-0302-02.png');
$blue = imagecolorallocate($im, 0, 0, 255);

$size = 55;
$angle = 0;
$x = 45;
$y = 200;
$font_filename = './DejaVuSansMono-Bold.ttf';
$text = "xtmci.com";
imagettftext($im, $size, $angle, $x, $y, $blue, $font_filename, $text);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Leave a Reply

Your email address will not be published. Required fields are marked *