Salve ragazzi,
con il seguente script
Codice PHP:
<?php
function makeThumb($dir,$pic,$n,$t){
list($width, $height, $type, $attr) = getimagesize($pic);
$max_w = 100;
$max_h = 100;
$ratio = min($max_w/$width,$max_h/$height);
// verifico che l'immagine originale sia più grande delle dimensioni massime 100*100px
if ($ratio < 1){
// individuo le nuove dimensioni da assegnare all'immagine
$w = floor($ratio*$width);
$h = floor($ratio*$height);
// creo una nuova immagine con le dimensioni appena calcolate
$thumb = imagecreatetruecolor($w,$h);
if ($t == 'image/jpeg'){$temp = imagecreatefromjpeg($pic);}
elseif ($t == 'image/gif'){$temp = imagecreatefromgif($pic);}
elseif ($t == 'image/png'){$temp = imagecreatefrompng($pic);}
// ridimensiono l'originale e salvo nella cartella di destinazione
imagecopyresampled($thumb,$temp,0,0,0,0,$w,$h,$width,$height);
if ($t == 'image/jpeg'){imagejpeg($thumb,"$dir/tb_".$n, 75);}
elseif ($t == 'image/gif'){imagegif($thumb,"$dir/tb_".$n, 75);}
elseif ($t == 'image/png'){imagepng($thumb,"$dir/tb_".$n, 75);}
}
}
?>
faccio il resize di immagini che carico creando miniature grandi massimo 100x100px mantenedo le proporzioni, quindi avrò miniature 100x58px oppure 74x100px, ecc, vorrei inserire una funzione di crop che mi permetta di creare miniature a dimesione fissa quindi proprio 100x100, come faccio? E' importante prima ridimensionare l'immagine il più possibile al 100x100 e poi croppare la parte in eccesso.