Signatur
Beschreibung
imagestringup() schreibt einen Text-String vertikal in ein mit GD erstelltes Bild. Der Text wird dabei von unten nach oben gezeichnet, d. h. der erste Buchstabe befindet sich unten und der letzte oben. Die Position wird über die Koordinaten $x und $y (linke untere Ecke des ersten Zeichens) angegeben.
Die Funktion nutzt einen der eingebauten GD-Fonts (1–5) oder einen zuvor mit imageloadfont() geladenen benutzerdefinierten Font. Eingebaute Fonts unterstützen ausschließlich Latin-1-Zeichen; für Unicode-Text sollte stattdessen imagettftext() verwendet werden.
Typische Anwendungsfälle sind Achsbeschriftungen in Diagrammen, Wasserzeichen oder dekorative Textelemente, die einen vertikalen Verlauf erfordern.
Ab PHP 8.0 ist der $image-Parameter ein GdImage-Objekt; in älteren Versionen war es eine Ressource.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $image Pflicht | GdImage | Das Ziel-Bildobjekt, das zuvor mit einer Funktion wie imagecreate() oder imagecreatetruecolor() erstellt wurde. |
|
| $font Pflicht | GdFont|int | Eingebauter Font als Integer (1–5, wobei 5 der größte ist) oder ein Font-Bezeichner, der von imageloadfont() zurückgegeben wurde. |
|
| $x Pflicht | int | Die X-Koordinate der linken oberen Ecke der Textausgabe in Pixeln. | |
| $y Pflicht | int | Die Y-Koordinate der linken oberen Ecke der Textausgabe in Pixeln. | |
| $string Pflicht | string | Der zu zeichnende Text-String. Unterstützt bei eingebauten Fonts nur Latin-1-Zeichen. | |
| $color Pflicht | int | Die Farbe des Textes als Farbbezeichner, der zuvor mit imagecolorallocate() erstellt wurde. |
Rückgabewert
true bei Erfolg zurück, false bei einem Fehler.Beispiele
Vertikale Achsenbeschriftung in einem einfachen Diagramm
<?php
// Bild erstellen
$image = imagecreatetruecolor(200, 150);
// Farben definieren
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 200);
// Hintergrund füllen
imagefill($image, 0, 0, $white);
// Vertikalen Beschriftungstext zeichnen (von unten nach oben)
imagestringup($image, 3, 10, 130, 'Umsatz in Euro', $blue);
// Horizontale Beschriftung zum Vergleich
imagestring($image, 3, 40, 10, 'Vergleich', $black);
// Bild als PNG ausgeben
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
Wasserzeichen vertikal einbetten
<?php
// Bestehendes Bild laden
$image = imagecreatefromjpeg('foto.jpg');
// Halbtransparente Farbe für das Wasserzeichen
$farbe = imagecolorallocatealpha($image, 200, 200, 200, 80);
// Wasserzeichen-Text vertikal einzeichnen
imagestringup($image, 5, 5, 100, 'programmierung.net', $farbe);
// Bild speichern
imagejpeg($image, 'foto_wasserzeichen.jpg', 90);
imagedestroy($image);
echo 'Wasserzeichen erfolgreich eingebettet.';
// Wichtig · Fallstricke
Zeichensatz-Einschränkung: Die eingebauten GD-Fonts (1–5) unterstützen nur Latin-1 (ISO-8859-1). Für Umlaute oder andere Sonderzeichen kann es bei UTF-8-kodierten Strings zu unlesbaren Zeichen kommen. Gegebenenfalls muss der String vorher mit utf8_decode() (veraltet ab PHP 8.2) oder iconv('UTF-8', 'ISO-8859-1', $str) konvertiert werden.
Alternative für TrueType-Fonts: Für hochwertige, Unicode-fähige vertikale Texte empfiehlt sich imagettftext() mit einem Winkel von 90 Grad.
Ab PHP 8.0 wird als $image-Parameter ein GdImage-Objekt erwartet; die frühere Ressource-Übergabe ist nicht mehr möglich.