imagettfbbox
(PHP 4, PHP 5, PHP 7)
imagettfbbox — Ermittle das umgebende Rechteck eines Textes unter Verwendung von True-Type Schriftarten
Beschreibung
$size
, float $angle
, string $fontfile
, string $text
) : arrayDiese Funktion errechnet die Größe des Bereichs für eine True-Type-Textausgabe.
Hinweis:
imageftbbox() ist eine erweiterte Variante von imagettfbbox(), die zusätzlich den
extrainfo
Parameter unterstützt.
Parameter-Liste
-
size
-
Die Schriftgröße in Punkten.
-
angle
-
Der Winkel in Grad in dem
text
vermessen wird. -
fontfile
-
The path to the TrueType font you wish to use.
Depending on which version of the GD library PHP is using, when
fontfile
does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.
In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.
<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>Hinweis:
Note that open_basedir does not apply to
fontfile
. -
text
-
Die zu vermessende Zeichenkette.
Rückgabewerte
imagettfbbox() gibt im Erfolgsfall ein Array mit 8
Elementen zurück, die die vier Punkte des umgebenden Rechtecks des Texts
repräsentieren, und FALSE
im Fehlerfall.
Schlüssel | Wert |
---|---|
0 | untere linke Ecke, x-Koordinate |
1 | untere linke Ecke, y-Koordinate |
2 | untere rechte Ecke, x-Koordinate |
3 | untere rechte Ecke, y-Koordinate |
4 | obere rechte Ecke, x-Koordinate |
5 | obere rechte Ecke, y-Koordinate |
6 | obere linke Ecke, x-Koordinate |
7 | obere linke Ecke, y-Koordinate |
Die Punkt sind relativ zum Text, unabhängig vom
angle
, so dass "obere linke Ecke" bedeutet "in der
oberen linken Ecke, wenn der Text horizontal gesehen wird".
Beispiele
Beispiel #1 imagettfbbox() Beispiel
<?php
// Erzeuge ein 300x150 Bild
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
// Weißer Hintergrund
imagefilledrectangle($im, 0, 0, 299, 299, $white);
// Pfad der Schriftartdatei
$font = './arial.ttf';
// Zunächst ermitteln wir das umgebende Rechteck für den ersten Text
$bbox = imagettfbbox(10, 45, $font, 'Powered by PHP ' . phpversion());
// Dies sind die x- und y-Koordinaten
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 25;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;
// Schreibe
imagettftext($im, 10, 45, $x, $y, $black, $font, 'Powered by PHP ' . phpversion());
// Ermittle das umgebende Rechteck für den zweiten Text
$bbox = imagettfbbox(10, 45, $font, 'and Zend Engine ' . zend_version());
// Berechne die Koordinaten, so dass es neben dem ersten Text ist
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) + 10;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;
// Schreibe
imagettftext($im, 10, 45, $x, $y, $black, $font, 'and Zend Engine ' . zend_version());
// Ausgabe an den Browser
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
Anmerkungen
Hinweis: Diese Funktion ist nur verfügbar wenn PHP mit Freetype unterstützung (--with-freetype-dir=DIR ) kompiliert wurde
Siehe auch
- imagettftext() - Schreibe Text ins Bild unter Verwendung von True-Type-Schriftarten
- imageftbbox() - Give the bounding box of a text using fonts via freetype2
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-imagettfbbox.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.