현재 위치: > 최신 기사 목록> 글꼴 너비 장치 설명 : 픽셀? 성격?

글꼴 너비 장치 설명 : 픽셀? 성격?

M66 2025-05-29

PHP에서 GD 라이브러리는 이미지를 처리 ​​할 때 종종 사용되며 글꼴 관련 기능 ImageFontWidth () 는 매우 일반적인 기능입니다. 지정된 글꼴의 너비를 얻는 데 도움이되므로 텍스트를 그리시 레이아웃을 정확하게 제어 할 수 있습니다. 그러나 많은 개발자가 ImageFontWidth ()를 사용할 때 질문을 할 것입니다. 너비는 "픽셀"또는 "문자"단위로 반환됩니까? 이 함수의 너비 단위를 정확하게 이해하는 방법은 무엇입니까?

이 기사는 PHP 함수 ImageFontWidth () 의 작동 원리와 폭 단위의 의미를 깊이 분석하여 이미지 워드 프로세싱에 더 잘 사용할 수 있도록합니다.


1. ImageFontWidth () 함수 소개

ImageFontWidth () 함수는 지정된 내장 글꼴 (즉, GD 라이브러리로 사전 정의 된 글꼴)에 대해 단일 문자의 너비를 얻는 데 사용됩니다. 기능 프로토 타입은 다음과 같습니다.

 int imagefontwidth ( int $font )
  • $ font는 GD 라이브러리의 내장 글꼴 수를 나타내는 정수이며, 일반적으로 1에서 5까지입니다.

  • 리턴 값은 글꼴에서 단일 문자의 너비이고 장치는 픽셀 입니다.

간단히 말해서,이 기능을 호출하면이 글꼴로 캐릭터를 그리시 폭이 얼마나 많은지 알 수 있습니다.


2. 너비 단위는 정확히 무엇입니까?

ImageFontWidth ()는 픽셀에서 너비를 반환합니다. 이것은 다음을 의미합니다.

  • 너비는 여러 문자가 아니며 많은 점도 아닙니다.

  • 너비는 이미지 픽셀의 실제 너비로 이미지 좌표 시스템에서 직접 사용하기에 편리합니다.

예를 들어:

 <?php
$font = 3; // 내장 글꼴3
$width = imagefontwidth($font);
echo "세례반3문자 너비는입니다:{$width} 픽셀";
?>

출력은 다음과 같습니다.

 세례반3문자 너비는입니다:7 픽셀

이것은 글꼴 3으로 캐릭터를 그릴 때 7 픽셀의 수평 공간을 차지함을 보여줍니다.


3. 너비 단위의 의미를 이해하는 방법은 무엇입니까?

ImageFontWidth () 는 픽셀 너비를 반환하므로 문자 수와 함께 전체 텍스트의 너비를 계산할 수 있습니다. 예를 들어 문자열 "hello" 를 그립니다.

 <?php
$font = 3;
$text = "Hello";
$char_width = imagefontwidth($font);
$text_width = $char_width * strlen($text);
echo "문자열 너비는입니다:{$text_width} 픽셀";
?>

여기서 문자열 길이 strlen ($ 텍스트) 에 전체 문자열의 너비를 얻으려면 이미지 캔버스 크기를 설정하거나 텍스트의 시작점을 위치시키는 것이 편리합니다.

참고 : 이것은 무료 글꼴 (TTF)이 아닌 GD 라이브러리 ( imagestring () 함수에 사용 된 글꼴) 또는 imageTtfText ()를 사용하는 장면의 내장 글꼴에 적용됩니다. TTF 글꼴 폭을 계산하려면 다른 방법이 필요합니다.


4. 예제와 결합 : 문자열 그리기 및 imagefontwidth ()를 사용하여 레이아웃을 제어합니다.

다음은 내장 글꼴로 텍스트를 그리는 방법에 대한 완전한 예입니다. ImageFontWidth () 를 기반으로 텍스트 너비를 동적으로 계산하여 적절한 이미지 크기를 만듭니다.

 <?php
// 选择내장 글꼴
$font = 4;
$text = "PHP Font Width";

// 단일 문자 너비와 높이를 얻으십시오
$char_width = imagefontwidth($font);
$char_height = imagefontheight($font);

// 문자열의 총 너비와 높이를 계산하십시오
$text_width = $char_width * strlen($text);
$text_height = $char_height;

// 이미지 캔버스를 만듭니다,너비에 약간의 여백을 남겨 두십시오
$image = imagecreate($text_width + 20, $text_height + 20);

// 색상 설정
$bg_color = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$text_color = imagecolorallocate($image, 0, 0, 0); // 검은 텍스트

// 문자열을 그립니다,위치(10,10)보장 된 마진
imagestring($image, $font, 10, 10, $text, $text_color);

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

이 예에서 :

  • ImageFontWidth ()ImageFonTheight ()를 사용하여 문자의 너비와 높이를 얻으십시오 (픽셀 모두).

  • 스트링 길이에 따라 필요한 캔버스 너비를 계산하십시오.

  • 텍스트를 그린 후 생성 된 이미지 크기는 텍스트 표시에 적합합니다.


5. URL 교체에 대한 지침

<code> 태그에 코드를 작성하고 코드에서 URL을 사용해야하는 경우 도메인 이름을 M66.net 으로 바꾸십시오.

 $url = "https://m66.net/path/to/resource";

이를 통해 기사의 코드 예제의 도메인 이름이 일관되게 보장합니다.


결론적으로

  • ImageFontWidth () 함수는 단일 문자의 너비를 반환하고 장치는 픽셀 입니다.

  • 너비는 문자 수가 아니라 이미지의 문자의 실제 픽셀 너비입니다.

  • 문자 수와 결합하여 문자열의 전체 너비를 계산하여 이미지를 쉽게 그리고 입력 할 수 있습니다.

  • Truetype 글꼴이 아닌 GD 내장 글꼴에만 적용됩니다.

이를 이해하면 이미지 텍스트의 레이아웃을보다 정확하게 제어하고 PHP 이미지 처리의 품질을 향상시키는 데 도움이됩니다.