Salve ragazzi!
Sto cercando di ridimensionare una png/gif 640*100 a 320*50. Ho il seguente codice:

Codice PHP:
$allowed_type = array("image/jpeg","image/pjpeg""image/gif""image/x-png""image/png");    $type $_FILES["image_upload_box"]["type"];        
$type $_FILES["image_upload_box"]["type"];                
list(
$image_width$image_height) = getimagesize($_FILES["image_upload_box"]["tmp_name"]);

if (
in_array($type$allowed_type) && ($_FILES["image_upload_box"]["size"] < 4000000) && ($image_width == 640) && ($image_height == 100)) {
  
if(
$_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){                $image_source imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]);        }                

if(
$_FILES["image_upload_box"]["type"] == "image/gif"){                
$image_source imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]);        }
if(
$_FILES["image_upload_box"]["type"] == "image/bmp"){
                
$image_source imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]);        }                    
if(
$_FILES["image_upload_box"]["type"] == "image/png" || $_FILES["image_upload_box"]["type"] == "image/x-png"){
            
$image_source imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]);        }        
 
$remote_file "image_files/".rand(0,10000).$_FILES["image_upload_box"]["name"];        

imagejpeg($image_source,$remote_file,100);        
chmod($remote_file,0644);        
                                    
$new_width 320;            
$new_height 50;                                    
$new_image imagecreatetruecolor($new_width $new_height);            
$image_source imagecreatefromjpeg($remote_file);                        

imagecopyresampled($new_image$image_source0000$new_width$new_height$image_width$image_height);            
imagejpeg($new_image,$remote_file,100);                        
imagedestroy($new_image);                        
imagedestroy($image_source);                
        
$resized_name basename($remote_file); 
Purtroppo però, sebbene funzioni perfettamente con immagini jpg, quando cerco di ridimensionare gif o png, mi restituisce un'immagine nera.

Ho già provato ad usare diverse soluzioni trovate nel forum, ma non riesco ad implementarle nel codice sopra. Avete qualche idea?

Grazie mille a chi mi aiuterà!!!