Start · Sprachen · PHP · Referenz · imagegetinterpolation

imagegetinterpolation

Funktion

Gibt die aktuell gesetzte Interpolationsmethode eines GD-Bildes als Integer zurück.

seit PHP 5.5.0 Kategorie: image

Signatur

imagegetinterpolation(GdImage $image): int

Beschreibung

imagegetinterpolation() liest die für ein GD-Bildobjekt hinterlegte Interpolationsmethode aus und gibt sie als Integer-Konstante zurück. Die Interpolationsmethode bestimmt, welcher Algorithmus beim Skalieren, Rotieren oder anderweitigen geometrischen Transformationen eines Bildes verwendet wird.

Die zurückgegebene Methode wurde zuvor typischerweise mit imagesetinterpolation() gesetzt. Standardmäßig verwenden viele GD-Funktionen bilineare Interpolation (IMG_BILINEAR_FIXED). Für qualitativ hochwertige Skalierungen empfiehlt sich z. B. IMG_BICUBIC, während IMG_NEAREST_NEIGHBOUR die schnellste, aber qualitativ einfachste Methode darstellt.

Diese Funktion ist nützlich, wenn man die aktuelle Einstellung eines Bildes prüfen oder sicherstellen möchte, dass eine bestimmte Methode vor einer Bildtransformation aktiv ist. Sie eignet sich besonders in komplexen Bildverarbeitungs-Pipelines, in denen verschiedene Transformationen mit unterschiedlichen Interpolationsarten durchgeführt werden.

Parameter

Name Typ Default Beschreibung
$image Pflicht GdImage Ein gültiges GD-Bildobjekt, das z. B. mit imagecreatetruecolor() oder imagecreatefromjpeg() erstellt wurde.

Rückgabewert

Typ
int
Beschreibung
Gibt einen Integer zurück, der der aktuell eingestellten Interpolationsmethode entspricht. Der Wert entspricht einer der IMG_*-Konstanten wie z. B. IMG_BILINEAR_FIXED, IMG_BICUBIC oder IMG_NEAREST_NEIGHBOUR.

Beispiele

Aktuelle Interpolationsmethode auslesen

<?php
$image = imagecreatetruecolor(200, 200);

// Standardmethode auslesen
$method = imagegetinterpolation($image);
echo 'Aktuelle Interpolationsmethode: ' . $method . PHP_EOL;

// Neue Methode setzen
imagesetinterpolation($image, IMG_BICUBIC);

// Erneut auslesen
$method = imagegetinterpolation($image);
echo 'Neue Interpolationsmethode: ' . $method . PHP_EOL;

imagedestroy($image);
?>
Aktuelle Interpolationsmethode: 16 Neue Interpolationsmethode: 11

Interpolationsmethode vor Rotation prüfen und ggf. setzen

<?php
$image = imagecreatefromjpeg('foto.jpg');

// Sicherstellen, dass bikubische Interpolation aktiv ist
if (imagegetinterpolation($image) !== IMG_BICUBIC) {
    imagesetinterpolation($image, IMG_BICUBIC);
    echo 'Interpolationsmethode auf IMG_BICUBIC gesetzt.' . PHP_EOL;
} else {
    echo 'IMG_BICUBIC ist bereits aktiv.' . PHP_EOL;
}

// Bild um 45 Grad rotieren
$rotated = imagerotate($image, 45, 0);
imagejpeg($rotated, 'foto_rotiert.jpg');

imagedestroy($image);
imagedestroy($rotated);
?>
Interpolationsmethode auf IMG_BICUBIC gesetzt.

// Wichtig · Fallstricke

Die zurückgegebenen Integer-Werte entsprechen den IMG_*-Konstanten, deren genaue numerische Werte implementierungsabhängig sein können. Es empfiehlt sich daher, beim Vergleich stets die benannten Konstanten (IMG_BICUBIC, IMG_NEAREST_NEIGHBOUR usw.) zu verwenden statt rohe Integer-Werte.

Die Funktion ist seit PHP 5.5.0 verfügbar und erfordert eine GD-Bibliothek, die mit der entsprechenden Interpolationsunterstützung kompiliert wurde. In PHP 8.0 wurde der Parameter von resource auf das typsichere GdImage-Objekt umgestellt.