prova con imagecopyresampled(); dovrebbe essere migliore il risultato