Signatur
Beschreibung
imagesy() ermittelt die Höhe eines mit GD erstellten oder geladenen Bildes in Pixeln. Die Funktion ist das vertikale Gegenstück zu imagesx(), die die Breite liefert.
Typische Einsatzbereiche sind die Berechnung von Skalierungsfaktoren beim Thumbnail-Erstellen, die Positionierung von Text oder Wasserzeichen relativ zur Bildgröße sowie allgemeine Validierungen, bevor ein Bild weiterverarbeitet wird.
Seit PHP 8.0 erwartet die Funktion ein GdImage-Objekt statt einer Ressource. In früheren PHP-Versionen wurde stattdessen ein resource-Typ übergeben. Der Rückgabewert ist bei einem gültigen Bild immer eine positive ganze Zahl; false wird zurückgegeben, wenn kein gültiges GD-Bild übergeben wurde.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $image Pflicht | GdImage | Ein GD-Bildobjekt, das z. B. durch imagecreatefromjpeg(), imagecreatetruecolor() oder eine andere imagecreate*-Funktion erzeugt wurde. |
Rückgabewert
int zurück. Bei einem ungültigen GdImage-Objekt wird false zurückgegeben.Beispiele
Höhe und Breite eines geladenen JPEG-Bildes ausgeben
<?php
$image = imagecreatefromjpeg('foto.jpg');
if ($image !== false) {
$breite = imagesx($image);
$hoehe = imagesy($image);
echo "Bildgröße: {$breite} x {$hoehe} Pixel";
imagedestroy($image);
} else {
echo 'Bild konnte nicht geladen werden.';
}
Proportionale Skalierung auf maximale Höhe
<?php
$quelle = imagecreatefromjpeg('original.jpg');
$maxHoehe = 200;
$origBreite = imagesx($quelle);
$origHoehe = imagesy($quelle);
// Skalierungsfaktor berechnen, damit die Höhe nicht überschritten wird
$faktor = $maxHoehe / $origHoehe;
$neueBreite = (int) round($origBreite * $faktor);
$neueHoehe = (int) round($origHoehe * $faktor);
$thumbnail = imagecreatetruecolor($neueBreite, $neueHoehe);
imagecopyresampled(
$thumbnail, $quelle,
0, 0, 0, 0,
$neueBreite, $neueHoehe,
$origBreite, $origHoehe
);
imagejpeg($thumbnail, 'thumbnail.jpg', 85);
imagedestroy($quelle);
imagedestroy($thumbnail);
echo "Thumbnail erstellt: {$neueBreite} x {$neueHoehe} Pixel";
// Wichtig · Fallstricke
Vor PHP 8.0 akzeptierte imagesy() einen resource-Typ. Wird eine ungültige Ressource oder kein GD-Objekt übergeben, gibt die Funktion false zurück — dies sollte im Code immer geprüft werden (=== false), da eine Höhe von 0 theoretisch ebenfalls falsy wäre.
Bei neu erstellten Bildern via imagecreatetruecolor() oder imagecreate() gibt imagesy() exakt den beim Erstellen angegebenen Höhenwert zurück.