현재 위치: > 최신 기사 목록> 투명한 그림자로 텍스트 이미지를 만드십시오

투명한 그림자로 텍스트 이미지를 만드십시오

M66 2025-05-18

웹 개발에서 때때로 우리는 버튼, 제목 또는 워터 마크에 대한 아름다운 그림자 효과로 텍스트 이미지를 동적으로 생성하려고합니다. 다행스럽게도 PHP의 GD 라이브러리는 ImageColoralLocateAlpha () 기능을 통해 투명성으로 색상을 정의하여 투명한 그림자로 텍스트를 쉽게 그릴 수있는 강력한 이미지 처리 기능을 제공합니다.

이 기사는 imagecolorallocatealpha () 함수를 사용하여 투명한 그림자 효과를 가진 텍스트 이미지를 만드는 방법을 단계별로 설명합니다.

1 단계 : 캔버스 생성

먼저 이미지 캔버스를 만들어야합니다. 여기서 우리는 imageCreatetRueColor () 함수를 사용하여 진정한 색상 이미지를 만듭니다.

 <?php
// 넓게 만듭니다 400px,높은 100px 캔버스
$width = 400;
$height = 100;
$image = imagecreatetruecolor($width, $height);

// 배경색을 설정하십시오(하얀색)
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

2 단계 : 투명 채널을 활성화합니다

PNG 이미지의 투명 부분을 올바르게 표시하려면 블렌딩 모드를 끄고 저장 알파 채널을 활성화해야합니다.

 // 믹싱 모드를 끕니다
imagealphablending($image, false);
// 할 수 있게 하다 alpha 유지하다
imagesavealpha($image, true);

3 단계 : 투명성으로 그림자 색상을 정의하십시오

imagecolorallocatealpha () 함수의 매개 변수는 (이미지, 빨간색, 녹색, 파란색, 알파) 이며, 여기서 알파 값은 0 (완전히 불투명)에서 127 (완전히 투명)입니다.

예를 들어, 검은 반투명 그림자를 정의합니다.

 // 검은 반투명 그림자를 정의하십시오
$shadow_color = imagecolorallocatealpha($image, 0, 0, 0, 60);

참고 : 60 여기서 반투명 효과에 대한 의미입니다.

4 단계 : 그림자와 텍스트를 그립니다

imageTtfText () 함수를 사용하여 텍스트를 그려서 글꼴 파일 경로를 지정해야합니다.

 // 글꼴 파일 경로(실제 상황에 따라 조정하십시오)
$font = __DIR__ . '/arial.ttf';
$text = 'Hello, m66.net!';
$font_size = 24;

// 그림자를 그립니다(몇 픽셀이 약간 오프셋됩니다)
imagettftext($image, $font_size, 0, 22, 62, $shadow_color, $font, $text);

// 본문을 그립니다(검은색)
$text_color = imagecolorallocate($image, 0, 0, 0);
imagettftext($image, $font_size, 0, 20, 60, $text_color, $font, $text);

5 단계 : 이미지를 출력하고 메모리를 청소하십시오

마지막으로, 이미지를 PNG 형식으로 출력하고 리소스를 자유롭게합니다.

 // 설정 header
header('Content-Type: image/png');
// 출력 이미지
imagepng($image);
// 무료 메모리
imagedestroy($image);
?>

완전한 샘플 코드

 <?php
$width = 400;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

imagealphablending($image, false);
imagesavealpha($image, true);

$shadow_color = imagecolorallocatealpha($image, 0, 0, 0, 60);
$text_color = imagecolorallocate($image, 0, 0, 0);

$font = __DIR__ . '/arial.ttf';
$text = 'Hello, m66.net!';
$font_size = 24;

imagettftext($image, $font_size, 0, 22, 62, $shadow_color, $font, $text);
imagettftext($image, $font_size, 0, 20, 60, $text_color, $font, $text);

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

주목해야 할 것

  1. 글꼴 파일 <br> 위의 코드는 Arial.ttf 글꼴 파일을 사용합니다. 글꼴 파일이 스크립트가있는 디렉토리에 존재하거나 서버의 다른 글꼴 경로로 수정되었는지 확인하십시오.

  2. 투명성 조정
    알파 매개 변수는 필요에 따라 조정할 수 있습니다. 더 투명하고 싶다면 더 큰 값 (거의 127)을 사용할 수 있습니다. 더 불투명하다면 더 작은 값을 사용할 수 있습니다.

  3. 배포 제안 <br> 배포 할 때 서버의 PHP 구성에서 GD 라이브러리가 활성화되어 있는지 확인하십시오. 그렇지 않으면 코드가 실행되지 않습니다.