Hallo,
ich habe ein Skript gemacht das ein hochgeladenes Bild speichert und dann kopiert.
Die Kobie soll dann als Thumb. verkleinert werden und die Dateigröße reduziert werden.
Das verkleiner funktioniert aber die Bildqualität ist so schlecht das man nix mehr erkennen kann.
Soweit ich das sehe ist das Bild auch nur noch schwarz/weiss.
Weiß jemand wo der Fehler liegen könnte?
PHP-Code:
$zoom_width = $imagedata[0];
$zoom_height = $imagedata[1];
$zoom_file_name = $_SESSION['produkt_id']."_z.".$suffix;
if (move_uploaded_file($_FILES['produkt_image']['tmp_name'], PATH_PRODUKT_IMAGES."zoom/".$zoom_file_name)){
chmod(PATH_PRODUKT_IMAGES."zoom/".$zoom_file_name, 0744);
}
$large_file_name = $_SESSION['produkt_id']."_l.".$suffix;
if (copy (PATH_PRODUKT_IMAGES."zoom/".$zoom_file_name , PATH_PRODUKT_IMAGES."large/".$large_file_name)){
chmod(PATH_PRODUKT_IMAGES."large/".$large_file_name, 0744);
if ($zoom_width > IMG_LARGE_MAX || $zoom_height > IMG_LARGE_MAX){
if($zoom_width >= $zoom_height) {
$large_image_width = IMG_LARGE_MAX;
$large_image_height = round($zoom_height * IMG_LARGE_MAX / $zoom_width);
}
if($zoom_width < $zoom_height) {
$large_image_height = IMG_LARGE_MAX;
$large_image_width = round($zoom_width * IMG_LARGE_MAX / $zoom_height);
}
if ($suffix == "jpg"){
$altesBild = imagecreatefromjpeg(PATH_PRODUKT_IMAGES."large/".$large_file_name);
$neuesBild= imagecreate($large_image_width,$large_image_height);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$large_image_width,$large_image_height,$zoom_width,$zoom_height);
imagejpeg($neuesBild, PATH_PRODUKT_IMAGES."large/".$large_file_name, 100);
}
if ($suffix == "png"){
$altesBild = imagecreatefrompng(PATH_PRODUKT_IMAGES."large/".$large_file_name);
$neuesBild= imagecreate($large_image_width,$large_image_height);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$large_image_width,$large_image_height,$zoom_width,$zoom_height);
imagepng($neuesBild, PATH_PRODUKT_IMAGES."large/".$large_file_name,100);
}
if ($suffix == "gif"){
$altesBild = imagecreatefromgif(PATH_PRODUKT_IMAGES."large/".$large_file_name);
$neuesBild= imagecreate($large_image_width,$large_image_height);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$large_image_width,$large_image_height,$zoom_width,$zoom_height);
imagegif($neuesBild, PATH_PRODUKT_IMAGES."large/".$large_file_name, 100);
}
}
}