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