Thumbnails mit fester Größe erstellen
Codeschnipsel | letzte Änderung am 09. Juli '10 um 19:16 Uhr
Motivation
Um ein einheitliches Layout z.B. für Galerien zu gewährleisten, möchten wir unsere Vorschaubilder (Thumbnails) auf eine einheitliche Größe skalieren. Da nicht alle Bilder im selben Format vorliegen, bleibt es allerdings nicht aus, dass Teile des Bildes abgeschnitten werden müssen.
Der Codeschnipsel
Das Script arbeitet mit den Image-Funktionen der GD-Bibliothek, die seit PHP 4.3 in PHP enthalten ist oder auch manuell installiert werden kann: http://www.php.net/manual/de/book.image.php.
<?php
header('Content-type: image/jpeg');
$image = 'images/test.jpg'; // Pfad zur Grafik
list($width, $height) = getimagesize($image);
$new_width = 120;
$new_height = 170;
if ($width / $height < $new_width / $new_height) {
$height = $new_height * ($width / $new_width);
}
else if ($width / $height > $new_width / $new_height) {
$width = $new_width * ($height / $new_height);
}
$src = imagecreatefromjpeg($image);
$dest = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($dest, $src, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($dest);
imagedestroy($dest);
imagedestroy($src);
Uwe | verfasst am 26. Januar '11 um 18:13 Uhr
#1
Wenn du anstatt von imagecopyresized die Funktion imagecopyresampled nimmst wirst du noch bessere Ergebnisse erzielen.
php.net - imagecopyresampled