Originariamente inviato da kilio
ok, sono un tordo, c'è larticolo di freephp.
però adesso mi chiedo come posso fare un resize proporzionato dell'immagine?
insomma altezza e larghezza delle immagini possono essere prese da php e passate in qualche variabile?
scusa non avevo letto che avevi già trovato la soluzione.. ti posto una funzione che ho fatto io e che puoi modificare a tuo piacere
Codice PHP:
function crea_thumb ($originale_path, $nuova_path, $nuova_width, $nuova_qualita)
{
if (file_exists ($originale_path))
{
$originale_dimensione = getimagesize($originale_path);
$nuova_height = ($nuova_width * $originale_dimensione[1]) / $originale_dimensione[0];
switch ($originale_dimensione['mime'])
{
case 'image/jpeg':
$originale_temp = imagecreatefromjpeg ($originale_path);
break;
case 'image/pjpeg':
$originale_temp = imagecreatefromjpeg ($originale_path);
break;
case 'image/gif':
$originale_temp = imagecreatefromgif ($originale_path);
break;
case 'image/png':
$originale_temp = imagecreatefrompng ($originale_path);
break;
default:
return false;
}
$nuova_temp = imagecreatetruecolor ($nuova_width, $nuova_height);
imagecopyresampled ($nuova_temp, $originale_temp, 0, 0, 0, 0, $nuova_width, $nuova_height, $originale_dimensione[0], $originale_dimensione[1]);
if (!file_exists ($nuova_path))
{
$nuova_crea = fopen($nuova_path, "w");
$nuova_crea = fclose($nuova_crea);
}
imagejpeg($nuova_temp, $nuova_path, $nuova_qualita);
ImageDestroy($originale_temp);
ImageDestroy($nuova_temp);
}
else
{
return false;
}
}
da usare così, una volta uploadato il file
crea_thumb ("path del file appena uppato", "path dell'immagine ridimensionata", "larghezza in px", "qualita");
dove c'è la larghezza in px tu specifichi una dimensione e la funzione genera l'altezza in modo che non sformi
crea_thumb ("temp/vecchia.jpg", "img/thumb.jpg", 200, 60);