현재 위치: > 최신 기사 목록> ImageFontWidth ()를 사용하기 전에 알아야 할 글꼴 번호

ImageFontWidth ()를 사용하기 전에 알아야 할 글꼴 번호

M66 2025-05-28

ImageFontWidth ()는 이미지 처리를 위해 PHP의 GD 라이브러리를 사용할 때 비교적 간단하지만 매우 실용적인 기능입니다. 기능은 지정된 글꼴 번호에 해당하는 글꼴의 너비를 반환하는 것입니다. 그러나 많은 개발자들은 글꼴 번호의 실제 중요성과 사용하기 전에 이미지 레이아웃에 미치는 영향을 실제로 이해하지 못합니다. 이 기사에서는 ImageFontWidth ()를 호출하기 전에 알아야 할 주요 지식 포인트를 심층적으로 탐색합니다.

1. 글꼴 번호의 원점 및 정의

GD 라이브러리에서 모든 글꼴이 자유롭게 선택되는 것은 아닙니다. PHP는 사전 정의 된 내장 글꼴 세트를 1에서 5로 제공합니다. 각 숫자는 다른 크기의 글꼴 세트에 해당합니다.

글꼴 번호 글꼴 너비 글꼴 높이
1 6 픽셀 8 픽셀
2 8 픽셀 12 픽셀
3 10 픽셀 16 픽셀
4 12 픽셀 16 픽셀
5 12 픽셀 24 픽셀

이 숫자는 Imagestring () , imagestringup () , imageChar () 등과 같은 함수를 사용하는 기초입니다.

2. ImageFontWidth ()의 기본 사용

ImageFontWidth () 의 구문은 매우 간단합니다.

 $width = imagefontwidth($font);

여기서 $ font는 위에서 언급 한 글꼴 번호입니다. 이 함수는 글꼴의 각 문자의 너비 (픽셀)를 반환합니다. 이미지에서 텍스트의 정확한 위치와 경계 상자를 계산할 때 중요합니다.

예를 들어, 글꼴 번호 3을 사용하고 "Hello"를 출력한다고 가정 해 봅시다.

 $font = 3;
$text = "Hello";
$textWidth = imagefontwidth($font) * strlen($text);

이렇게하면이 텍스트를 출력하는 데 필요한 너비가 10 * 5 = 50 픽셀 임을 알 수 있습니다.

3. imagestring ()와 함께 사용

글꼴 너비를 이해하면 이미지에서 텍스트를보다 정확하게 그릴 수 있습니다.

 $img = imagecreate(200, 50);
$bg = imagecolorallocate($img, 255, 255, 255);
$color = imagecolorallocate($img, 0, 0, 0);

$text = "Welcome!";
$font = 4;
$x = (200 - imagefontwidth($font) * strlen($text)) / 2;
$y = (50 - imagefontheight($font)) / 2;

imagestring($img, $font, $x, $y, $text, $color);

header("Content-Type: image/png");
imagepng($img);
imagedestroy($img);

이 코드 센터는 "환영합니다!" 200x50 흰색 이미지에서.

4. 실제 사례 : 확인 코드의 이미지 너비 계산

간단한 검증 코드를 구축 할 때 다음 논리를 작성하여 오른쪽 너비의 이미지를 동적으로 생성 할 수 있습니다.

 $code = "ABCD";
$font = 5;
$width = imagefontwidth($font) * strlen($code);
$height = imagefontheight($font);
$image = imagecreate($width + 20, $height + 10); // 여분의 공백

이러한 방식으로 텍스트 또는 과도한 이미지 및 낭비 대역폭의 과밀을 피하기 위해 길이가 다른 검증 코드에 따라 이미지 크기를 자동으로 조정할 수 있습니다.

5. 주목할만한 것들

  1. ImageFontWidth ()는 내장 글꼴 (숫자 1 ~ 5)에서만 작동하며 imageTtfText () 를 통해 사용되는 트루 타입 글꼴에는 해당되지 않습니다.

  2. 불법 글꼴 번호가 전달되면 함수는 False를 반환합니다.

  3. 일부 글꼴 (예 : 숫자 4 및 5)은 너비가 같지만 높이가 다르므로 imageFontWidth () 에만 의존하지 않지만 ImageFonTheight () 와 함께 사용해야합니다.

6. 링크의 텍스트 길이를 동적으로 계산합니다

동적 이미지 링크를 생성하는 경우 다음과 같은 텍스트로 링크를 생성하는 경우

 $url = "https://m66.net/generate-image.php?text=HelloWorld";

서버 측에서 정확한 이미지 생성을 용이하게하기 위해이 텍스트의 픽셀이 이미지에 얼마나 오래 있는지 미리 알고 싶을 수도 있습니다. 현재 imageFontWidth () 조합을 사용할 수 있습니다.

 $font = 2;
$text = "HelloWorld";
$width = imagefontwidth($font) * strlen($text);
// 설정에 사용할 수 있습니다 canvas 또는 매개 변수 확인

이 유형의 응용 프로그램은 이미지 시그니처 생성 및 짧은 링크 이미지 생성과 같은 시스템에서 매우 일반적입니다.

요약

실제 개발에서 글꼴 번호의 역할과 ImageFontWidth () 의 의미를 무시하면 종종 텍스트 표시 위치를 상쇄하고 혼란스러운 레이아웃과 같은 문제가 발생합니다. PHP의 내장 글꼴 메커니즘을 이해하는 것은 GD 이미지 처리를 마스터하는 데 중요한 단계입니다. 글꼴 너비를 정확하게 계산함으로써 텍스트를 더 아름답게 표시 할뿐만 아니라 더 똑똑한 이미지 생성 시스템을 구축 할 수 있습니다.

이러한 기본 사항을 마스터하면 PHP 이미지 처리 기술이 새로운 수준을 차지합니다.