Ciao a tutti è il mio primo post su questo forum spero di diventarne membro attivo.
Sto creando una una funzione per il caricamento con ridimensionamento di una serie di immagini ma noto con dispiacere che perdo molta qualità delle immagini. Dove sbaglio? O Come posso migliorare il mio codice? Tenete presente che funziona alla perfezione cosi
Sto creando una una funzione per il caricamento con ridimensionamento di una serie di immagini ma noto con dispiacere che perdo molta qualità delle immagini. Dove sbaglio? O Come posso migliorare il mio codice? Tenete presente che funziona alla perfezione cosi
Codice:
$uploaddir = 'image/temp_upload/';
$file = $uploaddir . basename($_FILES['uploadfile']['name']);
move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file);
/****** 100px X 100px ******/
//Recupero le informazioni sull'immagine originale
list($width, $height, $tipo, $attr) = getimagesize($file);
//Creo alcune variabili che utilizzero successivamente
$dst_x = 0;
$dst_y = 0;
$src_x = 0;
$src_y = 0;
//Creo un immagine ridimensionata calcolandone le nuove dimensioni
if($width >= $height) {
$new_w = 100;
$new_y = ($height*100)/$width;
//$dst_y = (200-$new_y)/2;
$newimage = imagecreatetruecolor($new_w, $new_y);
}
else {
$new_y = 100;
$new_w = ($width*100)/$height;
$newimage = imagecreatetruecolor($new_w, $new_y);
}
echo "<br />" . $tipo . "<br />";
//Recupero l'immagine originale dal server
switch($tipo) {
case '2':
$serverimage = imagecreatefromjpeg($file);
break;
case '3':
$serverimage = imagecreatefrompng($file);
break;
case '1':
$serverimage = imagecreatefromgif($file);
break;
}
//Creo l'immagine ridimensionata
imagecopyresized($newimage, $serverimage, $dst_x, $dst_y, $src_x, $src_y, $new_w, $new_y, $width, $height);
$nomefile = time() . $_FILES['uploadfile']['name'];
// Salvo l'immagine ridimensionata
switch($tipo) {
case '2':
$serverimage = imagejpeg($newimage, '../image/prodotti/mini_' . $nomefile, 300);
break;
case '3':
$serverimage = imagepng($newimage, '../image/prodotti/mini_' . $nomefile, 9);
break;
case '1':
$serverimage = imagegif($newimage, '../image/prodotti/mini_' . $nomefile);
break;
}