Aktueller Standort: Startseite> Neueste Artikel> Fügen Sie transparenter Text in Kombination mit Imagettftext hinzu ()

Fügen Sie transparenter Text in Kombination mit Imagettftext hinzu ()

M66 2025-05-17

Bei der Verwendung von PHP für die Bildverarbeitung bietet die GD -Bibliothek eine Fülle von Funktionen, um verschiedene Effekte zu erzielen. wobei ImagettFtext () verwendet werden kann, um Text in TrueType -Schriftart auf dem Bild zu zeichnen, während imageColorallocatealpha () eine Farbe mit Transparenz zugeordnet werden kann. Wenn wir diese beiden Funktionen in Kombination verwenden, können wir dem Bild Text mit transparenten Effekten hinzufügen.

In diesem Artikel wird ein Beispiel verwendet, um zu demonstrieren, wie dieser Effekt erzielt wird.

Schritt 1: Erstellen Sie eine Leinwand

Zunächst müssen wir eine Leinwand erstellen. Hier verwenden wir ImagecrreatTueColor (), um ein echtes Farbbild zu erstellen:

 <?php
// Erstellen Sie ein Bild 400x200 Leinwand
$width = 400;
$height = 200;
$image = imagecreatetruecolor($width, $height);

// Dem Hintergrund Weiß zuweisen
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

Schritt 2: Weisen Sie die Textfarben mit Transparenz zu

Der vierte Parameter von ImageColorallocatealpha () repräsentiert Transparenz, wobei die Werte von 0 (vollständig undurchsichtig) bis 127 (vollständig transparent) reichen.

 // Rot zuweisen,50% Transparenz(Ungefähr gleich alpha = 63)
$red_alpha = imagecolorallocatealpha($image, 255, 0, 0, 63);

Schritt 3: Zeichnen Sie den Text

Wir verwenden ImagettFtext () , um Text auf die Leinwand zu zeichnen. Sie müssen einen Pfad zur TTF -Schriftart zur Verfügung stellen.

 // Schriftart Dateipfad
$font_path = __DIR__ . '/arial.ttf';

// Schreiben Sie Text auf Leinwand
imagettftext(
    $image,        // Bildressourcen
    30,           // Schriftgröße
    0,            // Winkel
    50,           // X koordinieren
    100,          // Y koordinieren(Basisstandort)
    $red_alpha,   // Farbe(带Transparenz)
    $font_path,   // Schriftart Dateipfad
    'Hello, m66.net!' // Text zu schreiben
);

Schritt 4: Ausgabe des Bildes ausgeben

Um PNG -Bilder durch Transparenz auszugeben, müssen Sie die transparente Farbe einstellen und auf PNG -Format ausgeben.

 // Offen alpha Kanalmischung
imagesavealpha($image, true);

// Stellen Sie den Ausgangsheader ein
header('Content-Type: image/png');

// Ausgabe Bild
imagepng($image);

// Ressourcen zerstören
imagedestroy($image);
?>

Tipps

  • Stellen Sie sicher, dass die GD -Bibliothek auf dem Server installiert ist und diese Unterstützung für TrueType -Schriftarten in php.ini aktiviert ist.

  • Je näher der Transparenzwert von ImageColorallocatealpha () auf 127 liegt, desto transparenter ist der Effekt.

  • Bei der Verwendung von ImagePng () Ausgang können transparente Kanäle besser erhalten werden.