(PHP 4, PHP 5, PHP 7)
imagettftext — Schreibe Text ins Bild unter Verwendung von True-Type-Schriftarten
$image
, float $size
, float $angle
, int $x
, int $y
, int $color
, string $fontfile
, string $text
) : array
Schreibt den angegebenen text
ins Bild unter
Verwendung von True-Type-Schriftarten.
Hinweis:
imagefttext() ist eine erweiterte Variante von imagettftext(), die zusätzlich den
extrainfo
Parameter unterstützt.
image
Eine von den verschiedenen Erzeugungsfunktionen wie imagecreatetruecolor() gelieferte Grafikressource.
size
Die Schriftgröße in Punkten.
angle
Der Winkel in Grad, wobei 0 Grad von links nach rechts zu lesenden Text ergeben. Höhere Werte repräsentieren Rotation entgegen dem Uhrzeigersinn. Zum Beispiel resultiert ein Wert von 90 in von unten nach oben zu lesendem Text.
x
Die per x
und y
angegebenen Koordinaten definieren den Startpunkt des ersten Zeichens (in
etwa die linke untere Ecke). Das ist anders als bei der
ImageString()-Funktion, bei der x und y die obere
rechte Ecke des ersten Zeichens darstellen. Zum Beispiel ist oben links
0, 0.
y
Die y-Koordinate. Diese legt die Position der Grundlinie der Schriftart fest, nicht den untersten Rand des Zeichens.
color
Der Farbindex. Die Verwendung des negativen Indexwerts schaltet das Antialiasing ab. Siehe imagecolorallocate().
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 UTF8 kodierte Text-Zeichenkette.
Kann dezimale numerische Zeichen-Entity-Referenzen (in der Form €) enthalten, um Zeichen außerhalb des ASCII-Bereiches zu referenzieren. Das hexadizimale Format (wie ©) wird ebenfalls unterstützt. UTF-8 kodierte Zeichenkette können direkt übergeben werden.
Benannte Zeichen-Entity-Referenzen, wie ©, werden nicht unterstützt. html_entity_decode() kann verwendet werden, um diese Zeichen-Entity-Referenzen nach UTF-8 zu konvertieren.
Wird ein Zeichen in der Zeichenkette verwendet, das von der Schriftart nicht untersützt wird, wird es durch ein hohles Rechteck ersetzt.
Gibt ein Array mit 8 Elementen zurück, die die vier Punkte des umgebenden
Rechtecks des Textes repräsentieren. Die Reihenfolge der Punkte ist unten
links, unten rechts, oben rechts und oben links. Die Punkt sind relativ zum
Text, unabhängig vom Winkel, so dass "obere linke Ecke" bedeutet "in der
oberen linken Ecke, wenn der Text horizontal gesehen wird". Im Fehlerfall
wird FALSE
zurückgegeben.
Version | Beschreibung |
---|---|
5.2.0 |
Es ist nun erlaubt hexadezimale numerische Zeichen-Entity-Referenzen in
text anzugeben.
|
Beispiel #1 imagettftext() Beispiel
Dieses Beispielskript erzeugt ein weißes 400x30 Pixel großes PNG mit dem Text "Testing..." in schwarz (mit grauem Schatten) in der Schriftart Arial.
<?php
// Setze Content-Type
header('Content-Type: image/png');
// Erzeuge das Bild
$im = imagecreatetruecolor(400, 30);
// Erzeuge einige Farben
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// Der zu zeichnende Text
$text = 'Testing...';
// Bei Bedarf ist der Pfad anzupassen
$font = 'arial.ttf';
// Füge etwas Schatten zum Text hinzu
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Füge den Text hinzu
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Die Verwendung von imagepng() ergibt bessere Textqualität als imagejpeg()
imagepng($im);
imagedestroy($im);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Hinweis: Diese Funktion ist nur verfügbar wenn PHP mit Freetype unterstützung (--with-freetype-dir=DIR ) kompiliert wurde