Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie ImageFontheight (), um die volle Zeichengröße zu erhalten

Verwenden Sie ImageFontheight (), um die volle Zeichengröße zu erhalten

M66 2025-06-01

Bei der Verwendung von PHP für die Bildverarbeitung bietet die integrierte GD-Bibliothek Funktionen wie Imagestring () , ImagettFtext () usw. zum Zeichnen von Text. Für Bitmap -Schriftarten können wir ImageFontwidth () und ImageFontheight () verwenden, um die Größe der Schriftart zu erhalten, um die Position, Ausrichtung oder Textverpackungsgrenzen der Zeichen im Bild korrekt zu berechnen.

In diesem Artikel wird die Verwendung dieser beiden Funktionen eingeführt und zeigt, wie sie zusammen verwendet werden, um die Gesamtbreite und die Höhe eines Texthöhe zu berechnen, um sicherzustellen, dass Sie den Textinhalt im Bild genau leiten können.

1. Funktion Einführung

ImageFontwidth ()

 int imagefontwidth(int $font);

Diese Funktion gibt die Breite (Pixel) eines einzelnen Zeichens zurück, das der angegebenen Schriftnummer entspricht.

ImageFontheight ()

 int imagefontheight(int $font);

Diese Funktion gibt die Höhe (Pixel) eines einzelnen Zeichens zurück, das der angegebenen Schriftnummer entspricht.

Die GD-Bibliothek von PHP bietet 5 integrierte Schriftarten (nummeriert von 1 bis 5) und je größer die Zahl ist, desto größer ist die Schriftart.

2. Berechnen Sie die Breite und Höhe eines Textstücks

Um die nach dem Zeichnen einer ganzen Schnur erforderliche Pixelflächengröße zu erhalten, müssen wir nur die Breite und Höhe eines einzelnen Zeichens mit der Länge der Saite kombinieren:

 $text = "Hello, PHP!";
$font = 3; // Verfügbare Bereiche sind 1 ankommen 5

$charWidth = imagefontwidth($font);
$charHeight = imagefontheight($font);

$textWidth = strlen($text) * $charWidth;
$textHeight = $charHeight;

echo "Textbreite: {$textWidth}px\n";
echo "Texthöhe: {$textHeight}px\n";

Dieser Code -Snippet zeigt Ihnen, wie Sie Schriftart 3 verwenden, um die Pixelbreite und die Höhe des Textes "Hallo, Php!" Zu zeichnen. .

3. Erstellen Sie ein Bild und zeichnen Sie Text (Beispiel)

Hier ist ein vollständiges Beispiel zum Zeichnen des Textes auf einem Bild, das nur den Text hält und ihn als PNG ausgibt:

 <?php
$text = "Hello, PHP!";
$font = 3;

$charWidth = imagefontwidth($font);
$charHeight = imagefontheight($font);

$textWidth = strlen($text) * $charWidth;
$textHeight = $charHeight;

$image = imagecreate($textWidth, $textHeight);
$background = imagecolorallocate($image, 255, 255, 255); // Weißer Hintergrund
$textColor = imagecolorallocate($image, 0, 0, 0); // Schwarzer Text

imagestring($image, $font, 0, 0, $text, $textColor);

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

Speichern Sie den obigen Code als PHP -Datei und greifen Sie über den Server darauf zu, um das generierte Bild anzuzeigen. Dieses Beispiel kann weiter erweitert werden, z. B. das Hinzufügen von Margen, die Zentrierung der Ausrichtung oder das Zeichnen mehrerer Textlinien.

4. Beispiele für Anwendungsszenarien

Diese Methode wird üblicherweise verwendet für:

  • Generieren Sie dynamisch Verifizierungscode -Bilder;

  • Erstellen von Wasserzeichen erstellen Bilder;

  • Machen Sie einfache Signature, Benutzername -Tags usw.;

  • Der Hintergrund generiert Benachrichtigungsbilder, z. B. das Hinzufügen von Zahlen zum Symbol.

Wenn Sie beispielsweise solche Funktionen auf der Website https://www.m66.net/gen.php?text=hellophp bereitstellen, können die parametrisierte Bildgenerierung aktiviert werden.

Abschluss

Verwenden Sie ImageFontwidth () und ImageFontHeight (), um die einzelnen Zeichenbreite und Höhe der Schriftart zu erhalten, und kombinieren Sie dann die Saitenlänge, um die Größe des Pixelbereichs des Textes als Ganzes einfach zu berechnen. Obwohl diese Methode nicht so flexibel ist wie TTF -Schriftarten, ist sie in Szenarien, in denen Leistung und Einfachheit erforderlich sind, immer noch sehr praktisch. Ich hoffe, dieser Artikel kann Ihnen helfen, den Ort und das Layout von Text im Bild besser zu steuern.