ImageFontWidth ()는 이미지 처리를 위해 PHP의 GD 라이브러리를 사용할 때 비교적 기본적이지만 매우 실용적인 기능입니다. 일반적으로 이미지의 텍스트 레이아웃을 정확하게 제어하기 위해 Imagestring () 과 같은 함수와 함께 사용됩니다. 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);
이 너비는 도움이 될 수 있습니다.
중심-정렬 텍스트 : 텍스트 너비를 2로 나누어 텍스트의 시작 수평 좌표를 얻을 수 있습니다.
텍스트가 경계를 넘치는 지 여부를 결정하십시오 . 단축 또는 줄을 깨는 텍스트가 이미지 너비를 기반으로 해야하는지 판단 할 수 있습니다.
정확한 위치 구현 :이 값은 픽셀 레벨 요구 사항이 높은 이미지 레이아웃에 매우 중요합니다.
너비가 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 ()를 사용하여 계산해야합니다.
반환 값은 글꼴 번호의 영향을받으며 사용자 지정 글꼴 자체를 지원하지 않습니다.