현재 위치: > 최신 기사 목록> PHP에서 ImageFontWidth () 함수를 사용하여 글꼴의 너비를 얻는 방법은 무엇입니까? 자세한 분석 및 실제 예

PHP에서 ImageFontWidth () 함수를 사용하여 글꼴의 너비를 얻는 방법은 무엇입니까? 자세한 분석 및 실제 예

M66 2025-06-12

PHP에서는 텍스트 레이아웃 및 타이포그래피의 이미지를 처리 ​​할 때 글꼴의 너비를 얻는 것이 종종 필요합니다. ImageFontWidth () 함수는 내장 글꼴 너비를 얻는 간단하고 실용적인 도구입니다. 이 기사는 ImageFontWidth () 함수의 사용법을 자세히 분석하고 예제를 사용하여 응용 프로그램을 신속하게 마스터하는 데 도움이됩니다.


ImageFontWidth () 함수는 무엇입니까?

ImageFontWidth () 는 PHP GD 라이브러리에서 내장 글꼴 너비를 가져 오는 기능입니다. 정수 매개 변수가 필요하고 글꼴의 수 (1에서 5까지)를 나타내며 글꼴에서 각 문자의 너비를 반환합니다 (단위 : 픽셀). 이 기능은 주로 Imagestring () 함수와 함께 사용되며 이미지에 문자열을 그리는 데 사용됩니다.

기능 프로토 타입 :

 int imagefontwidth ( int $font )
  • $ FONT : FONT 번호, 1 ~ 5 범위의 값.

  • 반환 값 : 글꼴에 해당하는 단일 문자 너비, 장치는 픽셀입니다.


사전 정의 된 내장 글꼴

PHP GD 라이브러리에는 5 개의 내장 글꼴이 있으며 각 글꼴은 숫자에 해당하며 크기는 점차 증가합니다.

글꼴 번호 글꼴 크기 설명
1 5x8 픽셀 최소 글꼴
2 6x12 픽셀 더 작은 글꼴
3 7x13 픽셀 중간 크기 글꼴
4 8x16 픽셀 더 큰 글꼴
5 9x15 픽셀 최대 글꼴

ImageFontWidth ()의 시나리오 사용

Imagestring () 과 같은 함수를 사용하여 텍스트를 이미지로 출력 할 때 텍스트 위치 또는 캔버스 크기를 조정하려면 텍스트의 너비와 높이를 동적으로 계산해야합니다. ImageFontWidth ()를 사용하면 각 문자의 너비를 빠르게 얻고 문자열 길이를 결합하여 총 폭을 계산할 수 있습니다.


실제 사례

다음 예제는 다른 글꼴의 너비를 가져 와서 문자열 너비를 계산하는 데 사용하고 이미지의 텍스트를 중앙에 사용하는 방법을 보여줍니다.

 <?php
// 빈 이미지를 만듭니다,너비 400,높은 100
$image = imagecreatetruecolor(400, 100);

// 배경색을 흰색으로 설정합니다
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

// 텍스트 색상을 검은 색으로 설정합니다
$black = imagecolorallocate($image, 0, 0, 0);

// 출력이 될 문자열
$text = "Hello, m66.net!";

// 글꼴 번호를 선택하십시오
$font = 3;

// 获取单个字符的너비
$charWidth = imagefontwidth($font);

// 计算整条文本的너비
$textWidth = strlen($text) * $charWidth;

// 获取单个字符的높은(사용 imagefontheight 기능)
$charHeight = imagefontheight($font);

// 이미지에서 텍스트의 시작 좌표를 계산합니다,수평 및 수직 중심을 달성합니다
$x = (imagesx($image) - $textWidth) / 2;
$y = (imagesy($image) - $charHeight) / 2;

// 이미지에 문자열을 그리십시오
imagestring($image, $font, $x, $y, $text, $black);

// 브라우저에 이미지를 출력합니다
header("Content-Type: image/png");
imagepng($image);

// 이미지 자원을 파괴하십시오
imagedestroy($image);
?>

코드 설명 :

  • ImageFontWidth () 를 통해 글꼴 너비를 가져오고 문자열 길이를 기준으로 총 폭을 계산하십시오.

  • 수직 센터링을 달성하려면 imageFonTheight () 를 통해 글꼴 높이를 가져옵니다.

  • 간단한 수학적 계산을 통해 텍스트를 이미지의 수평 및 수직으로 중앙에 놓을 수 있습니다.

  • 이 예제의 문자열에는 도메인 이름 M66.net 이 포함되어 있으며 도메인 이름 교체 요구 사항을 충족합니다.


요약

  • ImageFontWidth () 는 PHP 내장 글꼴에서 단일 문자의 너비를 얻는 편리한 기능입니다.

  • strlen ()ImageFontheight ()를 결합하면 텍스트 레이아웃을 정확하게 제어 할 수 있습니다.

  • 간단한 텍스트의 빠른 그리기에 적합하며 사용자 정의 글꼴 또는 복잡한 타이포그래피를 지원하지 않습니다.

  • 사용자 정의 글꼴을 사용해야하는 경우 텍스트 크기를 얻으려면 imagetfbbox ()를 사용하는 것이 좋습니다.