• User

    [Libreria GD] resize immagini

    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
    resize("$upload_dir/$file_name",$_FILES["ddupload"]["type"]);

    che è così fatta:
    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

    image

    a partire da questa:

    image

    Quale potrebbe essere il problema?
    La dimensione dell'immagine è rimasta la stessa. :mmm:


  • ModSenior