Aktueller Standort: Startseite> Neueste Artikel> Erstellen eines Textbeschreibung Bild: Die Hilfsfunktion von ImageFontwidth ()

Erstellen eines Textbeschreibung Bild: Die Hilfsfunktion von ImageFontwidth ()

M66 2025-06-02

In PHP müssen Sie beim Manipulieren von Bildern und Text häufig genau die Breite des Textes im Bild kennen, um die Auswirkungen des Zentrierens, Ausrichtens oder Wickelns des Textes zu erreichen. Die ImageFontwidth () -Funktion ist ein sehr praktisches Werkzeug, mit dem wir die Zeichenbreite einer bestimmten Schriftgröße erhalten und damit die Gesamtbreite des Textes genau berechnet haben. In diesem Artikel wird vorgestellt, wie die Textbreite mit der Funktion imageFontwidth () berechnet und mit der GD -Bibliothek kombiniert wird, um ein Bild mit Textbeschreibungen zu erstellen.

1. Was ist ImageFontwidth ()

ImageFontwidth () ist eine Funktion der PHP-GD-Bibliothek, um die Zeichenbreite in Pixeln für eine angegebene integrierte Schriftart zurückzugeben. Die Parameter dieser Funktion sind der Größenindex der Schriftart, und der Wertebereich beträgt im Allgemeinen 1 bis 5. Je größer die Zahl ist, desto größer ist die Schrift.

 int imagefontwidth(int $font);

Zum Beispiel:

 $width = imagefontwidth(3);

Dieser Code gibt die Breite jedes Zeichens mit einer Schriftgröße von 3 zurück.

2. Berechnen Sie die Textbreite

Da alle Zeichen in der integrierten Schrift mit der gleichen Breite sind, ist es sehr einfach, die Breite einer Textfolge zu berechnen:

 $text = "Hello World!";
$font = 3;  // Schriftartindex
$charWidth = imagefontwidth($font);
$textWidth = strlen($text) * $charWidth;

Hier wird Strlen () verwendet, um die Stringlänge zu berechnen, die sich mit der Breite eines einzelnen Zeichens multiplizieren, um die Gesamtbreite des Textes zu erhalten.

3. Erstellen Sie ein Beispiel für Textbeschreibungsdiagramm

Das Folgende ist ein vollständiges Beispiel, das zeigt, wie die GD -Bibliothek verwendet wird, um ein Bild mit deskriptiver Text zu erstellen. Die Textbreite wird unter Verwendung von ImageFontwidth () berechnet und dann in einer Mitte angezeigt.

 <?php
// Setzen Sie Text und Schriftgröße
$text = "Dies ist ein Beispieltext";
$font = 5;

// Berechnen Sie die Textbreite und Höhe
$charWidth = imagefontwidth($font);
$charHeight = imagefontheight($font);
$textWidth = strlen($text) * $charWidth;
$textHeight = $charHeight;

// Erstellen Sie Leinwandgröße,Die Breite ist etwas größer als die Textbreite,Mäßige Höhe
$imgWidth = $textWidth + 20;
$imgHeight = $textHeight + 20;

$image = imagecreate($imgWidth, $imgHeight);

// Farben zuweisen
$bgColor = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
$textColor = imagecolorallocate($image, 0, 0, 0); // Schwarzer Text

// Berechnen Sie die Ausgangsposition des Textes,Zentrieren erkennen
$x = ($imgWidth - $textWidth) / 2;
$y = ($imgHeight - $textHeight) / 2;

// Text schreiben
imagestring($image, $font, $x, $y, $text, $textColor);

// Ausgabebild
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>

veranschaulichen:

  • Verwenden Sie ImageFontwidth () und ImageFontheight (), um die Zeichengröße zu erhalten.

  • Berechnen Sie die Breite und Höhe des gesamten Textes basierend auf der Textlänge.

  • Erstellen Sie eine Leinwand mit einer Größe, die etwas größer ist als der Textbereich, um sicherzustellen, dass der Text nicht beschnitten ist.

  • Berechnen Sie die Koordinaten der Textausgangspunkte, um horizontale und vertikale Zentrierung zu erreichen.

  • Verwenden Sie Imagestring () , um Text an das Bild zu schreiben.

  • PNG -Bild ausgeben.

4. Zusammenfassung

  • ImageFontwidth () gibt die Breite (Pixel) eines einzelnen Zeichens in der integrierten Schriftart zurück.

  • In Kombination mit der Zeichenfolgenlänge kann die Gesamttextbreite berechnet werden.

  • In Kombination mit anderen Funktionen der GD -Bibliothek können Bilder mit Text einfach erstellt werden.

  • Die Zentrierung oder Ausrichtung des Textes wird durch Berechnung präziser Positionen erreicht.

Das Mastering imageFontwidth () kann Ihre Flexibilität bei der Bildwortverarbeitung erheblich verbessern, insbesondere wenn dynamisch generierte grafische Inhalte erstellt werden.