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

    problema ridimensionamento immagini

    Ciao a tutti!
    Nel mio sito ho implementato una procedura che consente di caricare un'immagine e poi la ridimensiona e ne crea anche un'anteprima più piccola. Ecco il codice:
    Codice PHP:
    @move_uploaded_file($_FILES["upfile"]["tmp_name"][0], "$upload_dir/$nome_file1")
                      or die(
    "Non riesco a spostare il file");
                      list(
    $width$height$type$attr) = getimagesize("$upload_dir/$nome_file1");
                     if(
    $height>148)
                    {
                    
    $newwidth=ceil(148*$width/$height);
                    
    $thumb imagecreatetruecolor($newwidth,148);
                    switch(
    $type)
                    {
                      case 
    1
                            
    $source imagecreatefromgif("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000$newwidth,148$width$height);
                            
    imagegif($thumb"$upload_dir/$nome_file1"75);
                            break;
                      case 
    2
                            
    $source imagecreatefromjpeg("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000$newwidth,148$width$height);
                            
    imagejpeg($thumb"$upload_dir/$nome_file1"75);
                            break;
                      case 
    4
                            
    $source imagecreatefromwbmp("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000$newwidth,148$width$height);
                            
    imagewbmp($thumb"$upload_dir/$nome_file1"75);
                            break;
                    } 
                    
    imagedestroy($thumb);
                    }
                    list(
    $width$height$type$attr) = getimagesize("$upload_dir/$nome_file1");
                    
    $newheight=ceil(94*$height/$width);
                    
    $thumb imagecreatetruecolor(94,$newheight);
                    switch(
    $type)
                    {
                      case 
    1
                            
    $source imagecreatefromgif("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source000094,$newheight$width$height);
                            
    imagegif($thumb"$upload_dir/anteprima/$nome_file1"75);
                            break;
                      case 
    2
                            
    $source imagecreatefromjpeg("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source000094,$newheight$width$height);
                            
    imagejpeg($thumb"$upload_dir/anteprima/$nome_file1"75);
                            break;
                      case 
    4
                            
    $source imagecreatefromwbmp("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source000094,$newheight$width$height);
                            
    imagewbmp($thumb"$upload_dir/anteprima/$nome_file1"75);
                            break;
                      default: 
    copy("$upload_dir/$nome_file1","$upload_dir/anteprima/$nome_file1"); 
                    } 
                    
    imagedestroy($thumb); 
    Finora ha sempre funzionato.
    Il problema è sorto con una immagine jpg di dimensioni 2048*1536. L'immagine viene caricata correttamente; il rimpicciolimento non funziona: viene cioè salvata l'immagine nera che (credo) sia quella creata con il comando imagecreatetruecolor. Credo dunque che ci sia qulche problema con i comandi imagecreatefromjpeg o imagecopyresized. Ho fatto test con altre immagini jpg e non si è verificato alcun problema...
    Che ne dite? Grazie

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Prova a vedere se questo ti torna utile

    http://forum.html.it/forum/showthrea...hlight=php.ini

    Errare humanum est, perseverare ovest

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.