이미지 처리 및 GD imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagefttext — FreeType 2를 사용하여 글꼴을 사용하여 이미지에 텍스트 쓰기


설명

imagefttext(
    GdImage $image,
    float $size,
    float $angle,
    int $x,
    int $y,
    int $color,
    string $font_filename,
    string $text,
    array $options = []
): array|false
                

메모: PHP 8.0.0 이전에 imagefttext()options을 추가로 지원하는 imagettftext()의 확장된 변형이었습니다. PHP 8.0.0부터 imagettftext()imagefttext()의 별칭입니다.


매개변수

image
imagecreatetruecolor()와 같은 이미지 생성 함수 중 하나에서 반환되는 GdImage 객체.
size
포인트로 사용할 글꼴 크기입니다.
angle
0도는 왼쪽에서 오른쪽으로 읽는 텍스트를 나타내는 각도(도)입니다. 값이 높을수록 시계 반대 방향 회전을 나타냅니다. 예를 들어 값이 90이면 아래에서 위로 읽는 텍스트가 됩니다.
x
xy로 주어진 좌표는 첫 번째 문자의 기준점을 정의합니다(대략 문자의 왼쪽 아래 모서리). 이것은 xy가 첫 번째 문자의 왼쪽 위 모서리를 정의하는 imagestring()과 다릅니다. 예를 들어 "왼쪽 상단"은 0, 0입니다.
y
Y좌표. 이것은 문자의 맨 아래가 아니라 글꼴 기준선의 위치를 ​​설정합니다.
color
원하는 텍스트 색상의 인덱스는 imagecolorexact()를 참조하십시오.
font_filename
사용하려는 트루타입 글꼴의 경로입니다.

PHP가 사용하는 GD 라이브러리 버전에 따라 font_filename이 /로 시작하지 않으면 .ttf가 파일 이름에 추가되고 라이브러리는 라이브러리 정의 글꼴 경로를 따라 해당 파일 이름을 검색하려고 시도합니다.

글꼴을 사용하는 스크립트와 동일한 디렉토리에 글꼴이 있는 많은 경우에 다음 트릭을 사용하면 포함 문제를 완화할 수 있습니다.

                      
<?php
// Set the environment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>
                      
                    
text
이미지에 삽입할 텍스트입니다.
options

options에 대한 가능한 배열 인덱스

Key Type Meaning
linespacing float 그리기 줄 간격을 정의합니다.

반환 값

이 함수는 왼쪽 하단에서 시작하여 시계 반대 방향으로 움직이는 상자의 네 점을 정의하는 배열을 반환합니다.

0 lower left x-coordinate
1 lower left y-coordinate
2 lower right x-coordinate
3 lower right y-coordinate
4 upper right x-coordinate
5 upper right y-coordinate
6 upper left x-coordinate
7 upper left y-coordinate

실패하면 false가 반환됩니다.


변경 로그

버전 설명
8.0.0 image는 이제 GdImage 인스턴스를 반환합니다. 이전에는 리소스가 필요했습니다.

Examples

예제 #1 imagefttext() 예제

                  
<?php
// Create a 300x100 image
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Make the background red
imagefilledrectangle($im, 0, 0, 299, 99, $red);

// Path to our ttf font file
$font_file = './arial.ttf';

// Draw the text 'PHP Manual' using font size 13
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');

// Output image to the browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>
                  
                

메모

참고: 이 함수는 PHP가 자유형 지원(--with-freetype-dir=DIR)으로 컴파일된 경우에만 사용할 수 있습니다.


기타

  • imageftbbox() - freetype2를 통해 글꼴을 사용하여 텍스트의 경계 상자 제공
  • imagettftext() - TrueType 글꼴을 사용하여 이미지에 텍스트 쓰기