PHP의 imagecharup() 함수는 지정한 좌표 위치에 문자를 세로 방향(위에서 아래로)으로 그리는 GD 라이브러리 함수입니다. 일반적인 imagechar() 함수가 문자를 가로로 그리는 것과 달리, imagecharup()은 문자를 90도 회전시켜 수직으로 출력합니다.
문법(Syntax)
imagecharup( img, font, x, y, c, color )
매개변수(Parameters)
img: 대상이 되는 이미지 리소스입니다. 보통 imagecreatetruecolor() 또는 imagecreate() 함수로 생성합니다.
font: 폰트 크기를 설정합니다. latin2 인코딩의 내장 폰트를 사용하며, 1부터 5까지의 숫자 값(1이 가장 작고 5가 가장 큼)을 지정할 수 있습니다.
x: 문자가 그려질 시작점의 x좌표입니다.
y: 문자가 그려질 시작점의 y좌표입니다.
c: 그릴 문자열입니다.
color: imagecolorallocate()로 생성한 색상 식별자입니다.
반환값(Return)
imagecharup() 함수는 성공 시 TRUE를, 실패 시 FALSE를 반환합니다.
예제 1
다음은 imagecharup() 함수를 사용하여 문자를 세로로 그리는 기본 예제입니다.
<?php
$img = imagecreate(300, 300);
$str = 'Demo';
$bg = imagecolorallocate($img, 190, 255, 255);
$color = imagecolorallocate($img, 120, 60, 100);
imagecharup($img, 5, 30, 50, $str, $color);
header('Content-type: image/png');
imagepng($img);
?>
실행 결과
위 코드를 실행하면 300x300 크기의 캔버스에 'Demo'라는 문자가 세로 방향으로 그려진 PNG 이미지가 출력됩니다.
예제 2
이번에는 다른 크기와 색상을 적용한 예제를 살펴보겠습니다.
<?php
$img = imagecreate(270, 270);
$str = 'Example';
$bg = imagecolorallocate($img, 160, 185, 175);
$color = imagecolorallocate($img, 100, 120, 100);
imagecharup($img, 10, 80, 100, $str, $color);
header('Content-type: image/png');
imagepng($img);
?>
실행 결과
위 코드는 서로 다른 크기와 좌표값을 사용하여 'Example' 문자를 세로로 그린 결과를 출력합니다. 참고로 font 매개변수에 내장 폰트 범위(1~5)를 벗어나는 값을 넣으면 PHP가 자동으로 가장 가까운 내장 폰트로 대체하여 처리하므로, 의도한 디자인을 위해서는 1~5 사이의 값을 사용하는 것이 좋습니다.