현재 위치: > 최신 기사 목록> ImageFontWidth () return 값 상세한 설명 : 정수의 의미는 무엇입니까?

ImageFontWidth () return 값 상세한 설명 : 정수의 의미는 무엇입니까?

M66 2025-06-05

ImageFontWidth ()는 이미지 처리를 위해 PHP의 GD 라이브러리를 사용할 때 비교적 기본적이지만 매우 실용적인 기능입니다. 일반적으로 이미지의 텍스트 레이아웃을 정확하게 제어하기 위해 Imagestring () 과 같은 함수와 함께 사용됩니다. ImageFontWidth () 의 반환 값을 이해하면 이미지를 동적으로 생성 할 때 텍스트의 폭을보다 정확하게 계산하여 경계 또는 타이포그래피 혼란을 초과하는 텍스트 문제를 피할 수 있습니다.

ImageFontWidth () 란 무엇입니까?

ImageFontWidth () 는 PHP GD 라이브러리의 함수로, 글꼴 크기 (또는 글꼴 식별자)를 사용하여 각 문자의 수평 픽셀 너비를 글꼴로 반환합니다. 이 함수의 반환 값은 글꼴의 모든 문자의 너비 (픽셀)를 나타내는 정수입니다.

 $width = imagefontwidth(5);
echo $width; // 글꼴 번호를 출력하십시오 5 문자 너비

글꼴 식별자

ImageFontWidth () 에 사용 된 매개 변수는 임의적이지 않고 오히려 PHP가 제공하는 사전 정의 된 글꼴 식별자 세트입니다. 일반적으로 1에서 5까지의 정수입니다.

  • 1 : 최소 글꼴, 좁은 너비

  • 2 : 조금 더 큰

  • 3 : 중간 크기

  • 4 : 약간 더 큽니다

  • 5 : 가장 큰 내장 글꼴

예를 들어, 글꼴 식별자 1을 사용하는 경우 ImageFontWidth (1) 는 5를 반환 할 수 있습니다. 즉, 각 문자는 5 픽셀이라는 것을 의미합니다. 글꼴 식별자 5 인 경우 각 캐릭터가 9 픽셀 너비를 차지하고 있음을 나타냅니다.

반환 값의 의미

리턴 값은 수평 방향으로 문자가 차지하는 픽셀 폭을 나타내는 정수입니다. 즉, 예를 들어 그림에 문자열을 그리려면 다음과 같습니다.

 $text = "Hello, World!";

그런 다음 다음과 같은 방식으로 문자열의 전체 너비를 계산할 수 있습니다.

 $font = 5;
$width = imagefontwidth($font) * strlen($text);

이 너비는 도움이 될 수 있습니다.

  1. 중심-정렬 텍스트 : 텍스트 너비를 2로 나누어 텍스트의 시작 수평 좌표를 얻을 수 있습니다.

  2. 텍스트가 경계를 넘치는 지 여부를 결정하십시오 . 단축 또는 줄을 깨는 텍스트가 이미지 너비를 기반으로 해야하는지 판단 할 수 있습니다.

  3. 정확한 위치 구현 :이 값은 픽셀 레벨 요구 사항이 높은 이미지 레이아웃에 매우 중요합니다.

응용 프로그램 시나리오 예

너비가 200 픽셀의 이미지의 텍스트를 중앙에 중앙에 놓아야한다고 가정 해 봅시다.

 $text = "Hello";
$font = 3;
$image = imagecreate(200, 50);
$bg = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);

$text_width = imagefontwidth($font) * strlen($text);
$x = (200 - $text_width) / 2;
$y = 20;

imagestring($image, $font, $x, $y, $text, $text_color);
imagepng($image, 'output.png');
imagedestroy($image);

이 예에서는 ImageFontWidth ()를 사용하여 각 문자의 너비를 얻은 다음 전체 문자 수를 곱하여 전체 텍스트의 픽셀 너비를 계산하여 중앙 디스플레이를 실현합니다.

주목해야 할 것

  • ImageFontWidth ()는 내장 글꼴에서만 작동합니다. imageTtftext () 에서 사용하는 트루 타입 글꼴의 경우 너비 계산은 imageTtfbbox ()를 사용하여 계산해야합니다.

  • 반환 값은 글꼴 번호의 영향을받으며 사용자 지정 글꼴 자체를 지원하지 않습니다.

요약