Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    resize e tagliare immagine con la libreria gd

    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?
    Immagini allegate Immagini allegate

  2. #2
    L'immagine originale era così: (vedi allegato)
    Immagini allegate Immagini allegate

  3. #3
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Ciao, prova ad usare imagecopyresized() invece di imagecopyresampled()...comunque trovi una buona guida e molto semplice qui
    Buon anno

  4. #4
    purtroppo continuo ad avere lo stesso problema

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.