PHP: JPEG-Bild-Upload, dann thumb speichern und komprimiertes Bild

flukas

Mitglied
Guten Nachmittag,

ich bin schon seit ein paar Wochen auf der Suche nach einem Script, das folgendes macht: Es sollte ein Bild uploaden und von diesem Bild zwei Versionen erstellen. Zum einen hätte ich gerne ein Thumbnail (Vorschau) und eine große Version (auch komprimiert).

Ich habe mir diverse Sources von Webgallerien angesehen, unter anderem die von stadtaus.com. Leider bin ich aber nicht im Stande das alles zu verstehen. :(

Hat jemand von euch einmal ein (gut kommentiertes) Script für diese Problemstellung geschrieben oder noch besser: Kennt jemand von euch ein Tutorial für das hier?

lg
Lukas
 
Hi,

wie man einen Upload realisieren kann findest Du bspw. auf php-faq.de beschrieben.

Für das Verkleinern von Bildern hier mal eine kleine Beispielfunktion, die JPGs skaliert:

PHP:
function resizeImage($sourcePath, $destPath, $maxWidth, $maxHeight) {
   $size = getimagesize($sourcePath);
   if($size[1]/$size[0] > $maxHeight/$maxWidth) {
      $newHeight = $maxHeight;
      $newWidth = ceil($size[0]/$size[1] * $newHeight);
   } else {
      $newWidth = $maxWidth;
      $newHeight = ceil($size[1]/$size[0] * $newWidth);
   }
   $image = imagecreatefromjpeg($sourcePath);
   $newImage = imagecreatetruecolor($newWidth, $newHeight);
   imagecopyresampled($newImage, $image, 0,0,0,0, $newWidth, $newHeight, $size[0], $size[1]);
   imagejpeg($newImage, $destPath);
   imagedestroy($image);
   imagedestroy($newImage);
}

LG
 
Hallo,

ich habe glesen, das PHP Bilder skaliert, aber das Kompimieren muss noch separat übernommen werden.

Führt deine Funktion auch das Komprimieren durch oder skaliert sie nur?

lg Lukas
 
Komprimieren kannste mit dem dritten Parameter von:
PHP:
imagejpeg($newImage, $destPath,$quality);
$quality kannste einen Wert zwischen 0 und 100 nehmen, wobei die Hundert halt die größte Genauigkeit ist.
 
Zurück