현재 위치: > 최신 기사 목록> ImageFontWidth ()를 사용하여 텍스트 수평 센터링 정렬을 달성하십시오

ImageFontWidth ()를 사용하여 텍스트 수평 센터링 정렬을 달성하십시오

M66 2025-05-29

이미지 처리에 PHP를 사용할 때는 종종 그림에 텍스트를 추가해야합니다. 텍스트를보다 아름답게 보이게하기 위해 수평 센터링은 일반적이고 중요한 작업입니다. 이 기사는 PHP의 imageFontWidth () 함수를 다른 관련 함수와 결합하여 그림에서 텍스트의 수평 중심 정렬 효과를 달성하는 방법을 소개합니다.

1. ImageFontWidth () 함수 소개

ImageFontWidth () 는 PHP GD 라이브러리에서 지정된 글꼴 크기로 단일 문자의 너비를 가져 오는 기능입니다. 기본 사용량은 다음과 같습니다.

 int imagefontwidth ( int $font )
  • $ font 는 글꼴 크기이며 값은 1에서 5입니다.

  • 리턴 값은 해당 글꼴 크기에서 단일 문자의 너비 (픽셀)입니다.

단일 문자의 너비를 이해 한 후, 우리는 문자열의 길이에 따라 전체 텍스트 조각의 너비를 계산하여 수평 중심 시작 X 좌표를 계산할 수 있습니다.

2. 구현 단계

  1. 사진을 만듭니다.

  2. 글꼴 크기와 텍스트 내용을 설정합니다.

  3. 텍스트의 픽셀 너비를 계산하십시오 : 문자 너비 × 문자 수.

  4. 중앙에 시동 X 좌표를 계산하십시오 : 이미지 너비를 텍스트 너비에서 2로 나눕니다.

  5. Imagestring () 함수를 사용하여 이미지에 텍스트를 그립니다.

  6. 사진을 출력하거나 저장하십시오.

3. 코드 예제

다음은 ImageFontWidth ()를 사용하여 수평 중앙 텍스트 정렬을 달성하는 방법을 보여주는 완전한 예입니다.

 <?php
// 넓은 시트를 만듭니다 400px,높은 100px 진짜 컬러 사진
$width = 400;
$height = 100;
$image = imagecreatetruecolor($width, $height);

// 색상을 정의하십시오
$bg_color = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$text_color = imagecolorallocate($image, 0, 0, 0);     // 검은 텍스트

// 배경색을 채우십시오
imagefilledrectangle($image, 0, 0, $width, $height, $bg_color);

// 텍스트 내용 및 글꼴 크기
$text = "방문에 오신 것을 환영합니다 m66.net";
$font = 5; // 글꼴 크기,범위1-5

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

// 전체 텍스트의 너비를 계산하십시오
$text_width = $char_width * strlen($text);

// 텍스트의 시작을 계산하십시오x동등 어구,중심 수준을 달성하십시오
$x = ($width - $text_width) / 2;

// y동등 어구,수직으로 중심
$char_height = imagefontheight($font);
$y = ($height - $char_height) / 2;

// 그림에 텍스트를 작성하십시오
imagestring($image, $font, $x, $y, $text, $text_color);

// 브라우저에 사진을 출력합니다
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>

이 코드에서 :

  • imagefontwidth ($ font) 글꼴 크기가 5 인 경우 단일 문자의 너비 (픽셀)를 반환합니다.

  • Strlen ($ 텍스트)을 사용하여 문자열 문자 수를 계산하십시오.

  • 제품은 텍스트의 총 너비입니다.

  • 이미지 너비를 사용하여 텍스트 너비를 빼고 2로 나누어 중앙 시작점 x를 계산하십시오.

  • 이런 식으로 텍스트는 수평으로 표시 될 수 있습니다.

4. 요약

ImageFontWidth () 는 텍스트 수준 센터링을 달성하기위한 주요 기능 중 하나입니다. 이를 통해 문자열 길이와 이미지 크기를 결합하여 텍스트의 시작 도면 위치를 쉽게 계산하여 텍스트가 중앙에 표시되도록합니다. ImageFonTheight () 와 결합하여보다 정확한 수직 센터링을 달성 할 수 있습니다.