Hallo,
ich habe eine geschrieben, die beim upload ein Bild erst runterskaliert, welches man danach mittels JS zuschneiden kann.
Der upload (gekürzt):
Danach befindet sich das Bild in dem Ordner Urbild und ist nach wie vor, wie das Original, nur halt kleiner
Die Bildauswahl erfolgt mittels JS. Hier werden die Koordinaten der oberen linken Ecke ermittelt.
der Zuschnitt bei php hab ich so gelöst:
Jetzt liegt aber das Problem darin, das das jetzige Bild im Vergleich zum "urbild" und zum skalierten Bild leicht unscharf und verschwommen ist.
Woran kann dies liegen und wie könnte ich das am besten lösen?
Gruß
ich habe eine geschrieben, die beim upload ein Bild erst runterskaliert, welches man danach mittels JS zuschneiden kann.
Der upload (gekürzt):
PHP:
move_uploaded_file($_FILES['img']['tmp_name'],"bilder/urbild/".$_SESSION['username'].".jpg");
$file = "bilder/urbild/".$_SESSION['username'].".jpg";
$target = "bilder/urbild/".$_SESSION['username'].".jpg";
$max_width = "120"; //Breite ändern
$max_height = "180"; //Höhe ändern
$quality = "100"; //Qualität ändern (max. 100)
$src_img = imagecreatefromjpeg($file);
$picsize = getimagesize($file);
$src_width = $picsize[0];
$src_height = $picsize[1];
$dst_img = imagecreatetruecolor($dest_width,$dest_height);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $src_width, $src_height);
imagejpeg($dst_img, $target, $quality);
//nach dem upload weiterleitung zur upload.php
header("Location: http://campusinform.de/Script/vz/foto-bearbeiten.html");
exit();
Danach befindet sich das Bild in dem Ordner Urbild und ist nach wie vor, wie das Original, nur halt kleiner
Die Bildauswahl erfolgt mittels JS. Hier werden die Koordinaten der oberen linken Ecke ermittelt.
der Zuschnitt bei php hab ich so gelöst:
PHP:
//Bild-Quelle laden
$file_name= 'bilder/urbild/'.$_SESSION['username'].'.jpg';
list($w, $h, $type, $attr) = getimagesize($file_name); //Bildwerte ermitteln
$pic_im = imagecreatefromjpeg($file_name); //Bilddatei vom Original erzeugen
$pic_x = (int)$_POST['x1']; // Anfang x
$pic_y = (int)$_POST['y1']; // Anfang y
$pic_w = 100; // weite
$pic_h = 150; // höhe
$dest_x = 0; // Ziel x
$dest_y = 0; // Ziel y
$dest_im = imagecreatetruecolor($pic_w, $pic_h);
$white = imagecolorallocate($dest_im, 255, 255, 255);
imagefill($dest_im, 0, 0, $white);
imagecopy($dest_im, $pic_im, $dest_x, $dest_y, $pic_x, $pic_y, $pic_w, $pic_h); //Bild in neues Bild kopieren
imagejpeg($dest_im, $_SESSION['username'].'.jpg'); //neues Bild einen Namen zuweisen
rename($_SESSION['username'].'.jpg','bilder/'.$_SESSION['username'].'.jpg'); // Bild in bilder-ordner verschieben
unlink($file_name); //Urbild löschen
Jetzt liegt aber das Problem darin, das das jetzige Bild im Vergleich zum "urbild" und zum skalierten Bild leicht unscharf und verschwommen ist.
Woran kann dies liegen und wie könnte ich das am besten lösen?
Gruß