Bei der Verarbeitung von Bildern mit PHP ist die ImageFTText -Funktion ein sehr praktisches Tool, mit dem wir Text auf Bildern zeichnen können, die TrueType -Schriftarten unterstützen. Neben der gewöhnlichen Textzeichnung können wir dem Text auch Schatteneffekte hinzufügen, um die visuelle Hierarchie und Ästhetik zu verbessern.
In diesem Artikel wird ausführlich erläutert, wie die ImageFTText -Funktion zum Zeichnen von Schattentext verwendet und aktuelle Codebeispiele verwendet werden, um diese Technik schnell zu beherrschen.
Stellen Sie zunächst sicher, dass Ihre Serverumgebung die GD -Erweiterung aktiviert und PHP die Freetype -Schriftbibliothek unterstützt. Zusätzlich müssen Sie eine TTF -Schriftdatei wie die Common Arial.ttf erstellen. Sie können aus Systemschriften kopieren oder Ihre bevorzugten Schriftdateien herunterladen und im Projektverzeichnis speichern.
Die grundlegende Syntax von ImageftText ist wie folgt:
imagefttext(
GdImage $image,
float $size,
float $angle,
int $x,
int $y,
int $color,
string $font_filename,
string $text,
array $options = []
): array
Zeichnen Sie Text, ohne Schatten hinzuzufügen, der Code könnte so aussehen:
$im = imagecreatetruecolor(400, 200);
$bg = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 400, 200, $bg);
$textColor = imagecolorallocate($im, 0, 0, 0);
$font = __DIR__ . '/arial.ttf';
imagefttext($im, 20, 0, 50, 100, $textColor, $font, 'Hello World');
Der Trick zum Zeichnen von Schatten ist: Zeichnen Sie zuerst die Schatten und zeichnen Sie dann den Haupttext . Normalerweise sind die Schatten der gleiche Text mit leicht versetzten und dunkleren Farben oder weniger Transparenz.
Hier ist ein vollständiges Beispiel für das Hinzufügen eines Schatteneffekts:
$im = imagecreatetruecolor(400, 200);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 400, 200, $white);
// Schattenfarbe(grau)
$shadowColor = imagecolorallocate($im, 100, 100, 100);
// Haupttextfarbe(Schwarz)
$textColor = imagecolorallocate($im, 0, 0, 0);
$font = __DIR__ . '/arial.ttf';
$text = 'Hello Shadow';
// Textposition und Größe
$fontSize = 24;
$angle = 0;
$x = 50;
$y = 100;
// Zeichne zuerst den Schatten(Nach unten rechts versetzen2px)
imagefttext($im, $fontSize, $angle, $x + 2, $y + 2, $shadowColor, $font, $text);
// Zeichnen Sie den Haupttext
imagefttext($im, $fontSize, $angle, $x, $y, $textColor, $font, $text);
// Ausgabe Bild
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
ImageColoralLoclocation wird verwendet, um die Farben des Haupttextes und der Schatten zu definieren.
Schatten werden beispielsweise durch Feinabstimmung der Textposition implementiert (x+2, y+2) .
Die Schattenfarbe sollte niedriger sein als die Haupthelligkeit der Haupttext, oder die Transparenz kann durch ImageColorallocatealpha eingestellt werden, um einen natürlicheren Schatten zu erhalten.
Wenn Sie den Effekt schnell anzeigen möchten, können Sie den obigen Code als Shadow-Text.php- Datei speichern und auf einen PHP-fähigen Server hochladen, z. B. auf einen PHP-fähigen Server:
https://gitbox.net/shadow-text.php
Stellen Sie sicher, dass der Server über die entsprechende Schriftart (z. B. Arial.ttf ) im selben Verzeichnis verfügt, andernfalls schlägt die Schriftlast des Schriftarts fehl.
Mit einfachen Koordinaten -Offsets und angemessenen Farbanpassungen können wir ImageftText verwenden, um einen zufriedenstellenden Textschatteneffekt zu erzielen. Diese Technik wird häufig zur Erzeugung des Verifizierungscodes, der Wasserzeichenzelle und der personalisierten Bildausgabe verwendet. Wenn Sie die GD -Bibliothek gut nutzen, können Sie Ihre Bildverarbeitungsfunktionen erheblich verbessern.
In zukünftigen Projekten können Sie auch mehr Änderungen in Textstilen ausprobieren, z.