Position actuelle: Accueil> Derniers articles> Implémentez la sortie de l'image de texte de base en conjonction avec ImageCreate ()

Implémentez la sortie de l'image de texte de base en conjonction avec ImageCreate ()

M66 2025-05-31

Dans PHP, la bibliothèque GD fournit un ensemble complet de fonctions pour le traitement des images, qui peuvent être utilisées pour générer dynamiquement des fichiers image. Pour certains scénarios où le texte doit être sorti dans une image, tels que la génération de codes de vérification, la création d'images filigranées, la génération d'images de signature, etc., ImageCreate () et ImageFontWidth () sont deux fonctions très pratiques.

Cet article introduira en détail comment utiliser ImageFontWidth () pour obtenir la largeur de la police et combiner ImageCreate () pour créer une sortie d'image texte simple.

1. Comprendre la fonction ImageFontWidth ()

ImageFontWidth () est une fonction utilisée dans la bibliothèque PHP GD pour obtenir une largeur de police, et sa définition est la suivante:

 int imagefontwidth(int $font);
  • Le paramètre de police $ spécifie la taille de la police et ne peut être que des polices intégrées (1 à 5).

  • La valeur de retour est la largeur des pixels de chaque caractère dans la police.

Par exemple, ImageFontWidth (5) renvoie généralement 9, indiquant que la police 5 est de 9 pixels de large pour chaque caractère.

2. Utilisez ImageCreate () pour créer une toile d'image

ImageCreate () est utilisé pour créer une ressource d'image vierge, et sa syntaxe de base est la suivante:

 resource imagecreate(int $width, int $height);

Les paramètres sont la largeur et la hauteur de la toile (unités: pixels), respectivement. Le retourné est une poignée de ressources d'image qui peut être utilisée pour les dessins ultérieurs.

3. Combinez les deux images de texte et sortie

Voici un exemple complet montrant comment créer dynamiquement un canevas d'image basé sur la longueur du texte d'entrée et sortir le texte en utilisant ImageString () .

 <?php
// Définir le contenu
$text = "Bienvenue à visiter m66.net!";
$font = 5;

// Calculer la taille de l&#39;image
$font_width = imagefontwidth($font);
$font_height = imagefontheight($font);
$width = $font_width * strlen($text);
$height = $font_height + 10;

// Créer une toile
$image = imagecreate($width, $height);

// Régler la couleur
$white = imagecolorallocate($image, 255, 255, 255); // Fond blanc
$black = imagecolorallocate($image, 0, 0, 0);       // Police noire

// Écrire une chaîne
imagestring($image, $font, 0, 5, $text, $black);

// Image de sortie au navigateur
header("Content-Type: image/png");
imagepng($image);

// Détruire les ressources
imagedestroy($image);
?>

Lors de l'exécution du code ci-dessus, PHP générera dynamiquement une image PNG et le texte "Bienvenue à M66.net!" est affiché sur l'image.

Iv. Développer la demande

Bien que les polices intégrées soient limitées, l'utilisation de polices TTF personnalisées avec ImageTtFText () peut obtenir une typographie plus exquise. Cependant, lors de la sortie rapide du texte de test ou d'être utilisé pour un balisage d'image simple, la combinaison de ImageFontWidth () et d'imageReate () est toujours très efficace.

Résumer

Grâce à l'explication de cet article, nous avons appris à utiliser ImageFontWidth () pour obtenir la largeur des caractères et créer un canevas avec ImageCreate () , implémentant ainsi un programme de sortie de l'image texte de base. Ce processus est très adapté aux débutants pour comprendre les principes de base du traitement d'image PHP, et jette également les bases d'un traitement d'image plus complexe plus complexe.