Ich verwende zur Bildverkleinerung (nur JPG) folgende Funktion:
**function verkleinern($bild) //Funktion zur Bildverkleinerung
{
global $Ordnername;//Globale Variable deklarieren, damit sie funzt.
global $TNHoehe;
$neueHoehe=$TNHoehe;
$PicPathIn=’…/upload/’;
$PicPathOut=’…/’.$Ordnername."/TN/";
// Bilddaten feststellen
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=intval($neueHoehe*$breite/$hoehe);
//$neueBreite=800; Ich geb lieber die Höhe vor!
//$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
echo "
GIF-Bilder werden nicht akzeptiert!";
}
if($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=ImageCreatetruecolor($neueBreite,$neueHoehe);
imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut".„TN“."$bild");
}
if($size[2]==3) {
echo "
PNG-Bilder werden nicht akzeptiert!";
}
}**
Aber das Ergebnis ist mir Qualitativ zu schlecht. Die
Bilder sollten ganz ohne Qualitätsverlust verkleinert werden.
Geht das irgendwie besser?