Mailinglisten-Archive | 
Hi Andreas!
Mal ins Manual geguckt?
unter
 http://de.php.net/manual/de/function.imagecopyresampled.php
findest Du zwei Codeschnipsel, die Du nur zusammn bauen musst:
<?php
//SCHNIPSEL 1:
   $image_details = getimagesize("$dir_name/$image");
   $imagesize_x = $image_details[0];
   $imagesize_y = $image_details[1];
   $thumbsize_x = 100;
   $thumbsize_y = 75;
   // The two lines beginning with (int) are the super important magic
formula part.
   (int)$thumb_x = ($imagesize_x <= $imagesize_y) ? round(($imagesize_x *
$thumbsize_y)/$imagesize_y) : $thumbsize_x;
   (int)$thumb_y = ($imagesize_x > $imagesize_y) ? round(($imagesize_y *
$thumbsize_x)/$imagesize_x) : $thumbsize_y;
   echo "Projected Thumbnail Size to fit within $thumbsize_x x $thumbsize_y
= $thumb_x x $thumb_y";
?>
<?php
//SCHNIPSEL 2:
function image_createThumb($src,$dest,$maxWidth,$maxHeight,$quality=100) {
   if (file_exists($src)  && isset($dest)) {
       // path info
       $destInfo  = pathInfo($dest);
       // image src size
       $srcSize  = getImageSize($src);
       // image dest size $destSize[0] = width, $destSize[1] = height
       $srcRatio  = $srcSize[0]/$srcSize[1]; // width/height ratio
       $destRatio = $maxWidth/$maxHeight;
       if ($destRatio > $srcRatio) {
           $destSize[1] = $maxHeight;
           $destSize[0] = $maxHeight*$srcRatio;
       }
       else {
           $destSize[0] = $maxWidth;
           $destSize[1] = $maxWidth/$srcRatio;
       }
       // path rectification
       if ($destInfo['extension'] == "gif") {
           $dest = substr_replace($dest, 'jpg', -3);
       }
       // true color image, with anti-aliasing
       $destImage = imageCreateTrueColor($destSize[0],$destSize[1]);
       imageAntiAlias($destImage,true);
       // src image
       switch ($srcSize[2]) {
           case 1: //GIF
           $srcImage = imageCreateFromGif($src);
           break;
           case 2: //JPEG
           $srcImage = imageCreateFromJpeg($src);
           break;
           case 3: //PNG
           $srcImage = imageCreateFromPng($src);
           break;
           default:
           return false;
           break;
       }
       // resampling
       imageCopyResampled($destImage, $srcImage, 0, 0, 0,
0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]);
       // generating image
       switch ($srcSize[2]) {
           case 1:
           case 2:
           imageJpeg($destImage,$dest,$quality);
           break;
           case 3:
           imagePng($destImage,$dest);
           break;
       }
       return true;
   }
   else {
       return false;
   }
}
?>
----- Original Message -----
From: "Andreas Brandl" <mail at andreas-brandl.de>
To: "'deutschsprachige PHP-Mailingliste'" <php at phpbar.de>
Sent: Friday, January 30, 2004 6:29 PM
Subject: [php] Klasse gesucht: Bildverkleinerung
Hallo Liste!
Ich bin auf der Suche nach einer Klasse/Bibliothek, mit der ich schnell und
einfach JPEG-Bilder verkleinern kann.
Ich möchte im Prinzip aus einem BLOB (mit den Bilddaten) aus einer
Datenbank, Vorschaubilder generieren und diese im Filesystem abspeichern.
Sollte möglichst einfach gehen, am besten:
Maximale Höhe, maximale Breite für Vorschaubild angeben, ausführen,
fertig...
Was würdet ihr mir empfehlen?
Ich arbeite auf einem Server von Domainfactory.
PHP 4.3.4
GD 2.0.15
Danke!
Andi
--
** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
Informationen: http://www.phpbar.de
http://lists.phpbar.de/mailman/listinfo/php
    php::bar PHP Wiki - Listenarchive