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.
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
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 () .
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.
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.