Ciao!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_img, 0, 0, $bg);
//rendo trasparente quello stesso colore
ImageColorTransparent($tmp_img, $bg);
//disattivo l'alpha blending
imagealphablending($tmp_img, false);
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;
}

Rispondi quotando