Signatur
Beschreibung
imagesx() ermittelt die Breite eines Bildes, das durch ein GdImage-Objekt repräsentiert wird. Die Funktion ist das Gegenstück zu imagesy(), die die Höhe zurückgibt.
Die Funktion wird häufig eingesetzt, wenn Bilder skaliert, zugeschnitten oder anderweitig bearbeitet werden sollen und die aktuellen Abmessungen zunächst ermittelt werden müssen – etwa um Seitenverhältnisse zu berechnen oder Thumbnails zu erzeugen.
Ab PHP 8.0 arbeitet die Funktion mit dem Typ GdImage; in früheren Versionen wurde stattdessen eine resource übergeben.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $image Pflicht | GdImage | Ein gültiges GD-Bildobjekt, z. B. erstellt mit imagecreatefromjpeg(), imagecreatetruecolor() o. Ä. |
Rückgabewert
int zurück. Bei einem ungültigen GdImage-Objekt wird false zurückgegeben.Beispiele
Breite eines geladenen JPEG-Bildes ermitteln
<?php
$bild = imagecreatefromjpeg('foto.jpg');
if ($bild === false) {
die('Bild konnte nicht geladen werden.');
}
$breite = imagesx($bild);
echo 'Bildbreite: ' . $breite . ' Pixel';
imagedestroy($bild);
Proportionale Skalierung auf maximale Breite
<?php
$bild = imagecreatefromjpeg('foto.jpg');
$breite = imagesx($bild);
$hoehe = imagesy($bild);
$maxBreite = 800;
if ($breite > $maxBreite) {
$faktor = $maxBreite / $breite;
$neueBreite = $maxBreite;
$neueHoehe = (int) round($hoehe * $faktor);
} else {
$neueBreite = $breite;
$neueHoehe = $hoehe;
}
$thumbnail = imagecreatetruecolor($neueBreite, $neueHoehe);
imagecopyresampled($thumbnail, $bild, 0, 0, 0, 0, $neueBreite, $neueHoehe, $breite, $hoehe);
imagejpeg($thumbnail, 'thumbnail.jpg', 85);
imagedestroy($bild);
imagedestroy($thumbnail);
echo "Thumbnail erstellt: {$neueBreite}x{$neueHoehe} Pixel";
// Wichtig · Fallstricke
Stellen Sie sicher, dass das übergebene GdImage-Objekt gültig ist, bevor Sie imagesx() aufrufen. Ein fehlgeschlagenes Laden (z. B. durch eine nicht vorhandene Datei) liefert false zurück, was zu einem Typfehler führen kann, wenn es unkontrolliert weitergegeben wird.
In PHP 8.0 wurden GD-Ressourcen durch das Objekt GdImage ersetzt. Älterer Code, der Ressourcen verwendet, muss möglicherweise angepasst werden.