Hey.
Ich habe ein Formular zum bilder hochladen.
Ein Skript soll es verkleinern und abspeichern.
Es klappt, aber es sieht beschissen aus.. völlig verpixelt und ungenau.
Was mache ich falsch?
if(ob_get_level()===0){ob_start();}
$PicPathOut="./userpics/".$_SESSION['auth_userid']."/profil/";
$bild=md5(uniqid(rand(),true));
// Bilddaten feststellen
$size=getimagesize($_FILES["newpic"]['tmp_name']);
$breite=$size[0];
$hoehe=$size[1];
$neueHoehe=intval($hoehe*170/$breite);
if($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG($_FILES["newpic"]['tmp_name']);
$neuesBild=ImageCreate(170,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,170,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,$PicPathOut.md5(uniqid(rand(),true)).".jpg");
}else{
if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF($_FILES["newpic"]['tmp_name']);
$neuesBild=ImageCreate(170,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,170,$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild,$PicPathOut.md5(uniqid(rand(),true)).".gif");
}
if($size[2]==3) {
// PNG
$altesBild=ImageCreateFromPNG($_FILES["newpic"]['tmp_name']);
$neuesBild=ImageCreate(170,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,170,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild,$PicPathOut.md5(uniqid(rand(),true)).".png");
}
}
mfg
basti