Beim Erstellen von Bildern mit PHP ist es häufig erforderlich, die Breite des Bildes dynamisch entsprechend der Länge des Textinhalts anzupassen, um sicherzustellen, dass der Text vollständig angezeigt wird und das Layout schön ist. Die ImageFontwidth () -Funktion ist ein wichtiges Instrument zur Implementierung dieser Funktion. In diesem Artikel wird detailliert eingeführt, wie die Funktion imageFontwidth () verwendet wird, um die Textbreite dynamisch zu berechnen, um ein Bild der richtigen Breite zu erstellen.
ImageFontwidth () ist eine Funktion in der PHP-GD-Bibliothek, um die Zeichenbreite in Pixeln für eine angegebene integrierte Schriftart zu erhalten. Sein Argument ist eine Ganzzahl, die die Anzahl der Schriftart darstellt, und der Rückgabewert ist die Breite eines einzelnen Zeichens der Schriftart.
Die Anzahl der eingebauten Schriftarten liegt zwischen 1 und 5 und je größer die Zahl ist, desto größer ist die Schriftart.
Funktionsprototyp:
int imagefontwidth(int $font);
Bestimmen Sie zuerst die zu verwendende Schriftart und die Schriftgröße (hier finden Sie die integrierte Schriftart 1 ~ 5).
Verwenden Sie ImageFontwidth (), um eine einzelne Zeichenbreite zu erhalten.
Berechnen Sie die Pixelbreite des gesamten Textes basierend auf der Länge der Zeichenfolge: Textlänge × Zeichenbreite .
Lassen Sie die geeignete Polsterung für das Bild.
Erstellt ein Bild mit der kalkulierten Breite.
Schreiben Sie Text in ein Bild.
Dadurch wird die Auswirkung der automatischen Anpassung an die Textlänge erzielt.
<?php
// Text zum Anzeigen
$text = "Beispiel für die Einstellung der dynamischen Bildbreite";
// Wählen Sie integrierte Schriftarten(1 ankommen 5)
$font = 5;
// Holen Sie sich Schriftbreite und Höhe
$fontWidth = imagefontwidth($font);
$fontHeight = imagefontheight($font);
// Berechnen Sie die Textbreite(Anzahl der Zeichen × Einzelcharakterbreite)
$textWidth = strlen($text) * $fontWidth;
// Ränder einstellen
$padding = 10;
// Erstellen Sie ein Bild,Breite ist Textbreite + Grenzentfernung zwischen zwei Seiten,Höhe ist Schrifthöhe + Ränder auf und ab
$imageWidth = $textWidth + 2 * $padding;
$imageHeight = $fontHeight + 2 * $padding;
$image = imagecreate($imageWidth, $imageHeight);
// Farbe setzen
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
$textColor = imagecolorallocate($image, 0, 0, 0); // Schwarzer Text
// 输出文本ankommen图像,Position ist der Randversatz
imagestring($image, $font, $padding, $padding, $text, $textColor);
// 输出图像ankommen浏览器
header("Content-Type: image/png");
imagepng($image);
// Ressourcen frei machen
imagedestroy($image);
?>
Der obige Code zeigt, wie die Bildbreite dynamisch auf der Textlänge berechnet wird, um die vollständige Textanzeige zu gewährleisten.
Die Höhe kann in Kombination mit ImageFonEteight () berechnet werden und die Höhe kann dynamisch eingestellt werden.
Unterstützt mehrere Textzeilen, schaltet jede Textzeile durch und berechnet die maximale Breite.
In Kombination mit anderen Bildfunktionen werden komplexere dynamische Layout -Effekte erzielt.
ImageFontwidth () ist eine Schlüsselfunktion in der PHP-GD-Bibliothek zur Berechnung der integrierten Schriftbreite. In Kombination mit der Zeichenfolgenlänge kann es leicht die adaptive Bildgröße der Textbreite erreichen. Wenn Sie diese Technik beherrschen, können Sie schönere und flexiblere dynamische Textbilder generieren.