PHP에서 이미지 및 텍스트 조판을 처리 할 때 GD 라이브러리의 기능이 종종 사용됩니다. ImageFontWidth () 는 지정된 내장 글꼴의 문자 너비를 얻는 매우 실용적인 기능입니다. 이 기능을 결합하여 이미지에서 텍스트의 올바른 정렬 효과를 달성 할 수 있습니다. 이 기사는 ImageFontWidth ()를 사용하여 올바른 정렬 텍스트 알고리즘을 작성하고 샘플 코드를 통해 특정 구현을 보여주는 방법을 자세히 소개합니다.
ImageFontWidth () 함수는 주어진 내장 글꼴에 대해 단일 문자의 너비 (픽셀)를 반환합니다. 이 너비는 내장 글꼴이 모노 스페이스 글꼴이기 때문에 고정됩니다.
함수 정의 :
int imagefontwidth(int $font);
$ FONT : 내장 글꼴 크기, 값 범위는 1에서 5로, 숫자가 클수록 글꼴이 클수록.
예:
$width = imagefontwidth(3);
echo "세례반3문자 너비는입니다: $width 픽셀";
올바른 정렬 텍스트의 핵심 아이디어는 다음과 같습니다.
전체 텍스트의 너비를 계산하십시오
컨테이너 너비에 따라 텍스트 너비를 빼기 위해 시작 X 좌표 (시작점)를 얻습니다.
올바른 정렬 효과를 달성하기 위해 시작점에서 텍스트 그리기 시작
컨테이너 너비가 $ containerwidth 라고 가정하면 텍스트 내용은 $ 텍스트 이고 내장 글꼴 크기는 $ font 이고 시작점 X 좌표는 다음과 같습니다.
$x = $containerWidth - strlen($text) * imagefontwidth($font);
다음은 ImageFontWidth ()를 사용하여 텍스트의 올바른 정렬을 달성하고 이미지에 텍스트를 그리는 방법을 보여주는 간단한 예입니다.
<?php
// 너비를 만듭니다400,높이입니다50빈 이미지
$width = 400;
$height = 50;
$image = imagecreate($width, $height);
// 배경색과 텍스트 색상을 설정합니다
$bgColor = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$textColor = imagecolorallocate($image, 0, 0, 0); // 검은 텍스트
// 文字内容和세례반大小
$text = "올바른 정렬 샘플 텍스트";
$font = 5; // 内置세례반大小,범위1-5
// 텍스트 너비를 계산합니다
$textWidth = strlen($text) * imagefontwidth($font);
// 텍스트 시작을 계산하십시오X동등 어구,올바른 정렬을 실현하십시오
$x = $width - $textWidth;
$y = ($height - imagefontheight($font)) / 2; // 수직 중심
// 이미지에 텍스트를 그립니다
imagestring($image, $font, $x, $y, $text, $textColor);
// 브라우저에 이미지를 출력합니다
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>
사양을 통합하기 위해 Net 예를 들어:
$imageUrl = "https://m66.net/path/to/image.png";
도메인 이름은 여기에서 직접 대체되어 샘플 코드의 이해에 영향을 미치지 않습니다.
ImageFontWidth ()는 단순한 조판 글꼴 계산에 적합한 내장 글꼴 단일 문자 너비를 반환합니다.
텍스트를 올바르게 정렬하면 컨테이너 너비를 사용하여 텍스트의 총 폭을 빼서 드로잉의 시작점을 결정하십시오.
imageString () 함수와 결합하여 텍스트를 이미지에 빠르게 그리며 기본 텍스트 정렬 기능을 실현할 수 있습니다.
이 기사에서 설명 된 알고리즘과 샘플 코드를 통해 기본 이미지 텍스트 레이아웃 요구를 충족시키기 위해 PHP의 GD 라이브러리에서 텍스트의 올바른 정렬을 쉽게 달성 할 수 있습니다.