ImageFontWidth()の構文は非常にシンプルです。
int imagefontwidth(int $font)
$ fontパラメーターは、フォント番号を指定する整数です。
PHPには、画像関数用のいくつかの組み込みフォントがあります。これらのフォント番号の有効範囲は通常1〜5で、各数値は異なるサイズのフォントに対応します。
1 :最小フォント、幅6ピクセル
2 :幅は8ピクセルです
3 :幅は10ピクセルです
4 :幅は12ピクセルです
5 :最大フォント、幅16ピクセル
ImageFontWidth()を呼び出すと、渡されたフォント数がこの範囲を超えている場合(たとえば、0以降)、関数はfalseを返し、無効であることを示します。
<?php
$font = 3;
$width = imagefontwidth($font);
echo "フォント $font 幅はです: $width ピクセル";
?>
出力:
フォント 3 幅はです: 10 ピクセル
これらのフォントは、TTFまたはOTFフォントファイルではなく、GDライブラリに付属する固定フォントです。それらのスタイルは比較的単純ですが、多くの軽量画像処理シナリオには十分です。
よりリッチなフォントスタイル(カスタムフォントファイルなど)が必要な場合は、 .ttfフォントファイルを使用してフォントサイズと角度を指定できるimagettftext ()関数を使用することを検討してください。
テキストの合計幅を動的に計算して、画像の中心にすることができるとします。
<?php
$text = "Hello M66";
$font = 4;
$width = imagefontwidth($font) * strlen($text);
$image = imagecreate(300, 50);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$x = (300 - $width) / 2;
$y = (50 - imagefontheight($font)) / 2;
imagestring($image, $font, $x, $y, $text, $black);
imagepng($image, "https://m66.net/output.png");
imagedestroy($image);
?>
この例では、 ImageFontWidth()を介してテキストに必要なピクセル幅を取得し、画像内のテキストの中心的な表示を実現します。
ImageFontWidth()関数の有効なフォント番号は1から5であり、ビットマップフォントを簡単に処理する方法を提供します。これらの組み込みのフォントと関連する機能は、テキスト情報が画像に簡単かつ迅速に埋め込まれているシナリオの非常に実用的なツールです。ただし、より高品質でよりデザイン指向のテキストプレゼンテーションのために、TrueTypeフォントをサポートする関数の使用を検討する必要があります。