Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

imagettfbbox

Image-Funktionen

    Befehl:
array imagettfbbox ( int $size , int $angle , string $fontfile , string $text )


    Parameter-Liste:
NameBeschreibung
sizeDie Schriftgrösse.
angleIn Grad, in dem Text gemessen.
fontfileDer Name der Truetype-Schriftart-Datei (kann ein URL sein). Je nachdem, welche Version der GD-Bibliothek, die mit PHP ist, kann es versuchen, für Dateien, die nicht mit einem führenden '/' beginnen nicht durch Anhängen von '. Ttf "an den Dateinamen und die Suche entlang einer Bibliothek definierte Font-Pfad suchen.
textDie Zeichenfolge, die gemessen werden.

    Rückgabewerte:
imagettfbbox() gibt ein Array mit 8 Elementen, die vier Punkte, aus den Begrenzungsrahmen des Textes:
0 Ecke links unten, X-Position
1 Ecke links unten, Y-Position
2 Ecke rechts unten, X-Position
3 Ecke rechts unten, Y-Position
4 Ecke oben rechts, X-Position
5 Ecke oben rechts, Y-Position
6 Ecke oben links, X-Position
7 Ecke oben links, Y-Position
Die Punkte sind in Bezug auf den Text unabhängig von dem Winkel, so dass "oben links" bedeutet in der oberen linken Ecke horizontal.

    Beschreibung:
Diese Funktion errechnet die Grösse des Bereichs für eine True-Type-Textausgabe.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Hinweis:
Hinweis:

Diese Funktion erfordert sowohl die GD-Bibliothek und die »Freetype-Bibliothek.


    Siehe auch:
Text schreiben, um das Bild mit Truetype-Schriften
 

imagettfbbox() - Beispiel:


Eingabe:
<?PHP
$size = 24;

$textwerte = imagettfbbox ( $size, 0, 'arial.ttf', 'http://www.williseiler.ch' );
$textwerte[2] += 18;
$textwerte[5] = abs ( $textwerte[5] );
$textwerte[5] += 18;

$image=imagecreate ( $textwerte[2], $textwerte[5] );

$farbe_body=imagecolorallocate ( $image, 222, 222, 222);
$farbe_b = imagecolorallocate ( $image, 10, 36, 106);

$textwerte[5] -= 10;
imagettftext ( $image, $size, 0, 4, $textwerte[5], $farbe_b, 'arial.ttf', 'http://www.williseiler.ch' );
imagepng ( $image );
imagedestroy ( $image );
?>


Ausgabe:
imagettfbbox() - Beispiel 2:


Eingabe:
<?PHP
// Erstellt ein Bild 300x150
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Stellt den Hintergrund auf weiss ein
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Weg zu unserem Font-Datei
$font = './arial.ttf';

// Zuerst erstellen wir unsere Begrenzungsrahmen für den ersten Text
$bbox = imagettfbbox(10, 45, $font, 'Powered by PHP ' . phpversion());

// Dies ist unser-Koordinaten X und Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 25;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// schreibt es
imagettftext($im, 10, 45, $x, $y, $black, $font, 'Powered by PHP ' . phpversion());

// Erstellt die nächste Begrenzungsrahmen für den zweiten Text
$bbox = imagettfbbox(10, 45, $font, 'and Zend Engine ' . zend_version());

// Stellt die Koordinaten so ist es neben der ersten Text
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) + 10;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Schreibe es
imagettftext($im, 10, 45, $x, $y, $black, $font, 'and Zend Engine ' . zend_version());

// Ausgang zum Browser
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>


Ausgabe:
Image-Funktionen