Voor een website die ik aan het maken ben moeten er plaatjes worden geupload, echter merk ik dat de kwaliteit van de plaatjes erg omlaag wordt getrokken waardoor er ook kleurverschillen optreden tussen de originele afbeeldingen en de geuploade afbeeldingen.
De applicatie dient een geuplaod plaatje te re-sizen naar drie verschillende groottes. Bekijk hier het verschil. Eerste plaatje is via de applicatie gedaan:

En het volgende plaatje heb ik simpelweg met MS Paint ge-resized:

Hier is duidelijk te zien dat de foto die geüpload is een stuk vager is dan de afbeelding die via Paint is verkleind.
De code dit ik (op dit moment even) gebruik ziet er als volgt uit, ik heb inmiddels al een paar dingen geprobeerd;
$file = $_FILES['image']['tmp_name'];
$width = "1126";
$height = "751";
list($width_orig, $height_orig) = getimagesize($file);
$ratio_orig = $width_orig / $height_orig;
if ($width / $height > $ratio_orig) {
$width = $height * $ratio_orig;
} else {
$height = $width / $ratio_orig;
}
$image_p = imagecreatetruecolor($width, $height);
$image = @imagecreatefromjpeg($file);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p, "../uploads/".$_POST['id']."_large.jpg", 100);(overigens zit op de $_POST variabel een regex controle voordat 'ie wordt doorgelaten)
Mocht iemand een idee/tips hebben hoor ik dat graag.
Gr,
Patrick
[size=xsmall]Toevoeging op 23/03/2015 11:54:46:[/size]
Zojuist gebruik gemaakt van Imagick, lijkt al iets beter te gaan, maar krijg nog steeds een iets vager ge-resized plaatje dan wanneer het via Paint gebeurt:
$image = new Imagick($file);
$image->resizeImage($width, $height, Imagick::FILTER_LANCZOS, 0.5, true);
$image->writeImage("../uploads/".$_POST['id']."_large.jpg");
$image->destroy();