Position actuelle: Accueil> Derniers articles> Ajouter du texte transparent en combinaison avec ImagettfText ()

Ajouter du texte transparent en combinaison avec ImagettfText ()

M66 2025-05-17

Lorsque vous utilisez PHP pour le traitement d'image, la bibliothèque GD fournit une multitude de fonctions pour obtenir divers effets. où ImageTtFText () peut être utilisé pour dessiner du texte dans une police TrueType sur l'image, tandis que ImageColorAllocatealPha () peut se voir attribuer une couleur avec transparence. Lorsque nous utilisons ces deux fonctions en combinaison, nous pouvons ajouter du texte avec des effets transparents à l'image.

Cet article utilisera un exemple pour montrer comment réaliser cet effet.

Étape 1: Créez une toile

Tout d'abord, nous devons créer une toile. Ici, nous utilisons ImageCreateTrueColor () pour créer une véritable image couleur:

 <?php
// Créer une image 400x200 Toile
$width = 400;
$height = 200;
$image = imagecreatetruecolor($width, $height);

// Attribuer du blanc à l&#39;arrière-plan
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

Étape 2: attribuer des couleurs de texte avec transparence

Le quatrième paramètre de l'imageColorallocatEalpha () représente la transparence, avec des valeurs allant de 0 (complètement opaque) à 127 (complètement transparente).

 // Attribuer le rouge,50% transparence(Approximativement égal à alpha = 63)
$red_alpha = imagecolorallocatealpha($image, 255, 0, 0, 63);

Étape 3: dessinez le texte

Nous utilisons ImageTtFText () pour dessiner du texte sur la toile. Vous devez fournir un chemin d'accès au fichier de police TTF.

 // Chemin de fichier de police
$font_path = __DIR__ . '/arial.ttf';

// Écrire du texte sur toile
imagettftext(
    $image,        // Ressources d&#39;image
    30,           // Taille de la police
    0,            // angle
    50,           // X coordonner
    100,          // Y coordonner(Emplacement de base)
    $red_alpha,   // couleur(带transparence)
    $font_path,   // Chemin de fichier de police
    'Hello, m66.net!' // Texte à écrire
);

Étape 4: Sortie de l'image

Afin de sortir des images PNG avec transparence, vous devez définir la couleur transparente et la sortir au format PNG.

 // Ouvrir alpha Mélange de canaux
imagesavealpha($image, true);

// Définir l&#39;en-tête de sortie
header('Content-Type: image/png');

// Image de sortie
imagepng($image);

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

Conseils

  • Assurez-vous que la bibliothèque GD est installée sur le serveur et que la prise en charge des polices TrueType est activée dans php.ini .

  • Plus la valeur de transparence de l'imagecolorallocatealpha () est à 127, plus l'effet est transparent.

  • Lorsque vous utilisez la sortie ImagePng () , les canaux transparents peuvent être mieux conservés.