Codice PHP:
    function img_resize($source$width$height)
        {
        
//se sto tentando di ingrandire
        
if ($width>imagesx($source)|| $height>imagesy($source)):
            
//allora restituisco l'immagine stessa
            
$tmp_img=$source;
        else:
            
//controllo se la sorgente è a palette
            
if (imagecolorstotal($source)!=0):
                
$tmp_img=ImageCreate($width,$height);
                
//controllo se la sorgente ha pixel transparency
                
$srcbg=ImageColorTransparent($source);
                if (
$srcbg!=-1):
                    
//leggo componenti colore trasparente
                    
$comp=@imagecolorsforindex($source,$srcbg);
                    if (
$comp!==false):
                        
//creo il colore nella immagine destinazione
                        
$bg imagecolorallocate($tmp_img,$comp["red"],$comp["blue"],$comp["green"]);
                        
//riempio l'intera destinazione con quel colore
                        
imagefill($tmp_img00$bg);
                        
//rendo trasparente quello stesso colore
                        
ImageColorTransparent($tmp_img$bg);
                        
//disattivo l'alpha blending
                        
imagealphablending($tmp_imgfalse);
                    endif;
                endif;
                
//ridimensiono l'immagine
                
ImageCopyResized($tmp_img,$source,0,0,0,0,$width,$height,imagesx($source),imagesy($source));
            else:
                
$tmp_img=ImageCreateTrueColor($width,$height);
                
ImageCopyResampled($tmp_img,$source,0,0,0,0,$width,$height,imagesx($source),imagesy($source));
            endif;
        endif;
        
        return 
$tmp_img;
        } 
Ciao!