Mailinglisten-Archive |
Hi! > Kann mir jemand sagen wie ich dennoch die Bilder ohne Farbverlust > verkleinern kann > oder hat evtl. einen Codeschnippsel dafür parat... Ich hatte das Problem auch mal und in einem Forum diese Funktion Gefunden: function tumb_erzeugen($bild_url,$zieldir) { //$bils_url der Names des Bildes z.B. das_bild.jpg $PicPathIn="$zieldir/"; // Dein Verzeichnis des Original Bildes z.B. bilder/ $PicPathOut="$zieldir/thumb/"; // Dein Tumb Ziel Verzeichnis // Festellen ob Bild vorhanden $file = file_exists($PicPathIn . $bild_url); if($file == false) { /* Erzeugen eines leeren Bildes */ $im = ImageCreate (100, 50); $bgc = ImageColorAllocate ($im, 255, 255, 255); $tc = ImageColorAllocate ($im, 0, 0, 0); ImageFilledRectangle ($im, 0, 0, 100, 50, $bgc); /* Ausgabe einer Fehlermeldung */ ImageString($im, 1, 5, 5, "Kein Bild", $tc); ImageJPEG($im,"$PicPathOut"."$bild_url"); imagedestroy ($im); } else { // Bilddaten feststellen $size=getimagesize("$PicPathIn"."$bild_url"); $breite=$size[0]; $hoehe=$size[1]; $neueHoehe=75; // Hier gibs du die neue Grösse an - Höhe wird automatisch berechnet. $neueBreite=intval($breite*$neueHoehe/$hoehe); if($size[2]==1) { // GIF $altesBild=ImageCreateFromGIF("$PicPathIn"."$bild_url"); $neuesBild=ImageCreate($neueBreite,$neueHoehe); ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite, $neueHoehe,$breite,$hoehe); ImageGIF($neuesBild,"$PicPathOut" . "$bild_url"); } if($size[2]==2) { // JPG $altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild_url"); $neuesBild=ImageCreate($neueBreite,$neueHoehe); ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$b reite,$hoehe); ImageJPEG($neuesBild,"$PicPathOut"."$bild_url"); } if($size[2]==3) { // PNG $altesBild=ImageCreateFromPNG("$PicPathIn"."$bild_url"); $neuesBild=ImageCreate($neueBreite,$neueHoehe); ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite, $neueHoehe,$breite,$hoehe); ImagePNG($neuesBild,"$PicPathOut"."$bild_url"); } } $tumbnail=$PicPathOut . $bild_url; echo " THUMBNAIL:<br><img src=\"" . $tumbnail . "\" with=\"80\" border=\"0\"><br>"; } Hoffe das hilft dir weiter Gruß Tobias
php::bar PHP Wiki - Listenarchive