Start · Sprachen · PHP · Referenz · imagesx

imagesx

Funktion

Gibt die Breite (in Pixel) eines GD-Bildobjekts zurück.

seit PHP 5.0.0 Kategorie: image

Signatur

imagesx(GdImage $image): int|false

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

Typ
int|false
Beschreibung
Gibt die Breite des Bildes in Pixeln als 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);
Bildbreite: 1920 Pixel

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";
Thumbnail erstellt: 800x533 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.