현재 위치: > 최신 기사 목록> ImageFtText 기능이 그림자 텍스트를 그리는 트릭

ImageFtText 기능이 그림자 텍스트를 그리는 트릭

gitbox 2025-05-26

PHP를 사용하여 이미지를 처리 ​​할 때 ImageFtText 기능은 트루 타입 글꼴을 지원하는 이미지에 텍스트를 그릴 수있는 매우 실용적인 도구입니다. 일반 텍스트 그리기 외에도 시각적 계층과 미학을 향상시키기 위해 텍스트에 그림자 효과를 추가 할 수 있습니다.

이 기사는 ImageFtText 함수를 사용하여 그림자 텍스트를 그리는 방법을 자세히 설명하고 실제 코드 예제를 사용 하여이 기술을 빠르게 마스터하는 데 도움이됩니다.

1. 준비

먼저 서버 환경에 GD 확장이 활성화되고 PHP가 Freetype 글꼴 라이브러리를 지원하십시오. 또한 Common Arial.ttf 와 같은 TTF 글꼴 파일을 준비해야합니다. 시스템 글꼴에서 복사하거나 좋아하는 글꼴 파일을 다운로드하여 프로젝트 디렉토리에 저장할 수 있습니다.

2. 기본 사용법 검토

ImageFtText 의 기본 구문은 다음과 같습니다.

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

그림자를 추가하지 않고 텍스트를 그리면 코드가 다음과 같습니다.

 $im = imagecreatetruecolor(400, 200);
$bg = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 400, 200, $bg);

$textColor = imagecolorallocate($im, 0, 0, 0);
$font = __DIR__ . '/arial.ttf';

imagefttext($im, 20, 0, 50, 100, $textColor, $font, 'Hello World');

3. 그림자 텍스트를 그립니다

그림자를 그리는 요령은 다음과 같습니다. 먼저 그림자를 그리운 다음 메인 텍스트를 그립니다 . 일반적으로 그림자는 약간 오프셋되고 어두운 색상 또는 투명성이 적은 동일한 텍스트입니다.

그림자 효과를 추가하는 완전한 예는 다음과 같습니다.

 $im = imagecreatetruecolor(400, 200);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 400, 200, $white);

// 그림자 색상(회색)
$shadowColor = imagecolorallocate($im, 100, 100, 100);
// 본문 색상(검은색)
$textColor = imagecolorallocate($im, 0, 0, 0);

$font = __DIR__ . '/arial.ttf';
$text = 'Hello Shadow';

// 텍스트 위치 및 크기
$fontSize = 24;
$angle = 0;
$x = 50;
$y = 100;

// 먼저 그림자를 그립니다(오른쪽 하단으로 오프셋하십시오2px)
imagefttext($im, $fontSize, $angle, $x + 2, $y + 2, $shadowColor, $font, $text);

// 본문을 그립니다
imagefttext($im, $fontSize, $angle, $x, $y, $textColor, $font, $text);

// 출력 사진
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);

4. 효과 설명

  • ImageColorAllothing은 본문과 그림자의 색상을 정의하는 데 사용됩니다.

  • 그림자는 텍스트 위치 (예 : X+2, y+2) 의 미세 조정에 의해 구현됩니다.

  • 그늘 색상은 본문 색상 밝기보다 낮아야합니다. 또는 투명도는 imagecolorallocatealpha를 통해 더 자연스러운 그림자를 얻을 수 있습니다.

5. 온라인 데모 및 테스트

효과를 빠르게 보려면 위의 코드를 섀도우-text.php 파일로 저장하고 PHP 지원 서버에 업로드 할 수 있습니다.

 https://gitbox.net/shadow-text.php

서버에 동일한 디렉토리에 해당 글꼴 파일 (예 : arial.ttf )이 있는지 확인하십시오. 그렇지 않으면 글꼴로드가 실패합니다.

6. 요약

간단한 좌표 오프셋과 합리적인 색상 일치로 ImageFtText를 사용하여 만족스러운 텍스트 그림자 효과를 달성 할 수 있습니다. 이 기술은 검증 코드 생성, 워터 마크 도면 및 개인화 된 이미지 출력에 널리 사용됩니다. GD 라이브러리를 잘 활용하면 이미지 처리 기능이 크게 향상 될 수 있습니다.

향후 프로젝트에서는 출력 이미지를 더욱 아름답게하기 위해 블러 그림자 오버레이, 다층 프로젝션, 스트로크 효과 등과 같은 텍스트 스타일의 더 많은 변화를 시도 할 수 있습니다.