In PHP bietet die GD -Bibliothek einen vollständigen Funktionssatz für die Verarbeitung von Bildern, mit denen dynamisch Bilddateien generiert werden können. Für einige Szenarien, in denen der Text in einem Bild ausgegeben werden muss, z. B. Verifizierungscodes, erstellen von Wasserzeichen und Erzeugen von Signaturbildern usw., Imagecreate () und ImageFontwidth () sind zwei sehr praktische Funktionen.
In diesem Artikel wird detailliert vorgestellt, wie Sie ImageFontwidth () verwenden, um die Schriftbreite zu erhalten und ImageCreate () zu kombinieren, um eine einfache Ausgabe von Textbilden zu erstellen.
ImageFontwidth () ist eine Funktion, die in der PHP -GD -Bibliothek verwendet wird, um eine Schriftbreite zu erhalten, und ihre Definition lautet wie folgt:
int imagefontwidth(int $font);
Der Parameter $ font gibt die Schriftgröße an und kann nur integrierte Schriftarten (1 bis 5).
Der Rückgabewert ist die Pixelbreite jedes Zeichens in der Schriftart.
Beispielsweise gibt ImageFontwidth (5) normalerweise 9 zurück, was angibt, dass die Schrift 5 für jedes Zeichen 9 Pixel breit ist.
Imagecreate () wird verwendet, um eine leere Bildressource zu erstellen, und seine grundlegende Syntax lautet wie folgt:
resource imagecreate(int $width, int $height);
Die Parameter sind die Breite und Höhe der Leinwand (Einheiten: Pixel). Das zurückgegebene Bildressourcenhandle ist für nachfolgende Zeichnungen verwendet.
Hier finden Sie ein vollständiges Beispiel, das zeigt, wie Sie eine Bild -Leinwand dynamisch erstellen, die auf der Länge des Eingabetxtes basiert, und den Text mithilfe von Imagestring () ausgeben.
<?php
// Inhalte festlegen
$text = "Willkommen zu Besuch m66.net!";
$font = 5;
// Bildgröße berechnen
$font_width = imagefontwidth($font);
$font_height = imagefontheight($font);
$width = $font_width * strlen($text);
$height = $font_height + 10;
// Erstellen Sie eine Leinwand
$image = imagecreate($width, $height);
// Farbe setzen
$white = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
$black = imagecolorallocate($image, 0, 0, 0); // Schwarze Schriftart
// Schreiben Sie Zeichenfolge
imagestring($image, $font, 0, 5, $text, $black);
// Ausgabe Bild zum Browser
header("Content-Type: image/png");
imagepng($image);
// Ressourcen zerstören
imagedestroy($image);
?>
Beim Ausführen des obigen Codes generiert PHP dynamisch ein PNG -Bild und der Text "Willkommen auf m66.net!" wird auf dem Bild angezeigt.
Obwohl die eingebauten Schriftarten begrenzt sind, kann die Verwendung benutzerdefinierter TTF-Schriftarten mit ImagettFtext () eine exquisite Typografie erzielen. Wenn Sie jedoch schnell den Testtext ausgeben oder für das einfache Bildmarkup verwendet werden, ist die Kombination von ImageFontwidth () und Imagecreate () immer noch sehr effizient.
Durch die Erläuterung dieses Artikels haben wir gelernt, wie man ImageFontwidth () verwendet, um die Charakterbreite zu erhalten und Canvas mit ImageCreate () zu erstellen, wodurch ein grundlegendes Programm zur Ausgabe von Textbild implementiert wird. Dieser Prozess ist für Anfänger sehr geeignet, um die Grundprinzipien der PHP -Bildverarbeitung zu verstehen, und legt den Grundlage für die anschließende komplexere Bildverarbeitung.