Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2009, 21:49
DruX
 
Fecha de Ingreso: mayo-2009
Mensajes: 19
Antigüedad: 15 años
Puntos: 1
galeria gd y fondos transparentes

Hola!! lo posteo aqui porque se que son bien ingeniosos y me pueden ayudar con este problema:

tengo un codigo que capta una imagen de un formulario y lo redimensiona a una altura y anchura maxima (un vil y comun thumbnail) el detalle radica en que los gif y png con fondos transparentes me los deja negro, encontre buscando por ahi un par de codigos como el imagecolortransparent pero no se como implementarlo, vi los manuales y nada no logro entenderlo

ahi va mi script que actualmente uso:


Código PHP:
//imagen

if (is_uploaded_file($_FILES['logo']['tmp_name'])) {


$max 200;
$pic $_FILES['logo']['tmp_name']; 
$datos getimagesize($pic);
if(
$datos[2]==1){$im = @imagecreatefromgif($pic);}
if(
$datos[2]==2){$im = @imagecreatefromjpeg($pic);}
if(
$datos[2]==3){$im = @imagecreatefrompng($pic);} 
$x imagesx($im);
$y imagesy($im);

if((
$x $max) OR ($y $max)) {

  if(
$x >= $y){
    
$nx $max;
    
$ny $max $y/$x;
  }else{
    
$ny $max;
    
$nx $max $x/$y;
  }

}
$img imagecreatetruecolor($nx,$ny);
imagecopyresampled($img,$im,0,0,0,0,$nx,$ny,$x,$y) ;

if(
$datos[2]==1){imagegif($img,$_FILES['logo']['name']);}
if(
$datos[2]==2){imagejpeg($img,$_FILES['logo']['name'],75);}
if(
$datos[2]==3){imagepng($img,$_FILES['logo']['name']);}

imagedestroy($img);




} else {

echo 
"error en el envio";





//fin imagen 
Saludos!!!