Position actuelle: Accueil> Derniers articles> Description de la plage valide des numéros de police dans ImageFontWidth ()

Description de la plage valide des numéros de police dans ImageFontWidth ()

M66 2025-05-26

La syntaxe de ImageFontWidth () est très simple:

 int imagefontwidth(int $font)

Le paramètre de police $ est un entier qui spécifie le numéro de police.

Plage valide de numéros de police

PHP a plusieurs polices intégrées pour les fonctions d'image. La plage effective de ces numéros de police est généralement de 1 à 5 , et chaque nombre correspond à une police de différentes tailles:

  • 1 : police minimale, largeur de 6 pixels

  • 2 : La largeur est de 8 pixels

  • 3 : La largeur est de 10 pixels

  • 4 : La largeur est de 12 pixels

  • 5 : Police maximale, largeur de 16 pixels

Lorsque vous appelez ImageFontWidth () , si le numéro de police passé dépasse cette plage (par exemple, 0 ou plus), la fonction renvoie false , indiquant qu'elle n'est pas valide.

 <?php
$font = 3;
$width = imagefontwidth($font);
echo "Fonte $font La largeur est: $width Pixels";
?>

Sortir:

 Fonte 3 La largeur est: 10 Pixels

Source du numéro de police

Ces polices sont des polices fixes fournies avec la bibliothèque GD, pas des fichiers TTF ou OTF. Leur style est relativement simple, mais il est suffisant pour de nombreux scénarios de traitement d'image légers.

Si vous avez besoin de styles de police plus riches (comme les fichiers de police personnalisés), envisagez d'utiliser la fonction ImageTtFText () , qui permet d'utiliser des fichiers de police .TTF et de spécifier la taille et l'angle de la police, mais cela n'a rien à voir avec ImageFontWidth () .

Exemples d'application pratiques

Supposons que vous souhaitiez calculer dynamiquement la largeur totale d'un morceau de texte afin qu'il puisse être centré sur l'image:

 <?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);
?>

Dans cet exemple, nous obtenons la largeur des pixels requise pour le texte via ImageFontWidth () , puis réalisons l'affichage centré du texte dans l'image.

résumé

Le numéro de police valide de la fonction ImageFontWidth () est de 1 à 5 , ce qui fournit un moyen facile de gérer les polices bitmap. Ces polices intégrées et les fonctions connexes sont des outils très pratiques dans les scénarios où les informations texte sont simplement et rapidement intégrées dans les images. Cependant, pour des présentations de texte de meilleure qualité et plus axées sur le design, vous devriez envisager d'utiliser des fonctions qui prennent en charge les polices TrueType.