Salve a tutti!
Sto utilizzando per la prima volta la libreria gd per manipolare le immagini.
Vi spiego la mia situazione.
1)effettuo l'upload di un'immagine
2)ridimensiono
3)ritaglio per ottenere un'immagine quadrata
4)visualizzo tale immagine modificata
In pratica dal mio script richiamo la funzione
Codice PHP:
resize("$upload_dir/$file_name",$_FILES["ddupload"]["type"]);
che è così fatta:
Codice PHP:
function resize($nomefile,$tipofile){
//Settiamo le dimensioni di ritaglio
$widthResize = 65;
$heightResize = 65;
$dimensions = getimagesize("$nomefile");
list($width, $height, $type, $attr) = $dimensions;
...
//Adesso carichiamo la nostra immagine in memoria.
$canvas = imagecreatetruecolor($width,$height);
$piece = imagecreatefromjpeg($nomefile);
$newheight = ...
$newwidth = ...
imagecopyresampled($canvas,$piece,0,0,0,0,$newwidth,$newheight,ImageSX($piece),ImageSY($piece));
//imagesx() returns the width of the image identified by image.
//imagesy() returns the height of the image identified by image.
if (imagejpeg($canvas,"$nomefile",100)) {
echo 'Immagine ritagliata';
}else{
echo 'Ritaglio immagine fallito';
}
imagedestroy($canvas);
imagedestroy($piece);
}
Quello che ottengo però è la mia immagine rimpicciolita ma che presenta uno sfondo nero
come in allegato
Quel potrebbe essere il problema?