Foros del Web » Programando para Internet » PHP »

Al redimensionar gif no se ve transparente

Estas en el tema de Al redimensionar gif no se ve transparente en el foro de PHP en Foros del Web. Hola a todos, A ver si me explico, resulta que quiero redimensionar la imagen gif de una camiseta: http://camisetas.decoratelo.com/redi...r/camiseta.gif Lo blanco es transparente, es decir, ...
  #1 (permalink)  
Antiguo 01/05/2009, 11:46
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Al redimensionar gif no se ve transparente

Hola a todos,

A ver si me explico, resulta que quiero redimensionar la imagen gif de una camiseta:
http://camisetas.decoratelo.com/redi...r/camiseta.gif
Lo blanco es transparente, es decir, sin fondo...

Buscando, he encontrado un script para hacer redimensiones:

Código PHP:
<?php 
    $file 
$_GET["file"];
    
$ext_file=split("[.]",$file); 
    
$ext strtolower($ext_file[1]); 
    
$tam=getimagesize($file); 
    if((
$tam[1]/$tam[0])>10){ 
        
$n_alto=80
        
$n_ancho=($n_alto*($tam[0]/$tam[1])); 
    }else{ 
        
$n_ancho=80
        
$n_alto=($n_ancho*($tam[1]/$tam[0])); 
    } 
    if(
$ext=="jpg" || $ext=="jpeg"){      
        
$origen  imagecreatefromjpeg($file);  
         
$imagen  imagecreatetruecolor($n_ancho,$n_alto);  
         
imagecopyresampled($imagen,$origen,0,0,0,0,$n_ancho,$n_alto,$tam[0],$tam[1]);  
        
header("Content-type: image/jpeg");   
         
imagejpeg($imagen);  
    }else if(
$ext=="png"){  
         
$origen  imagecreatefrompng($file);  
         
$imagen  imagecreatetruecolor($n_ancho,$n_alto);  
      
imagecopyresampled($imagen,$origen,0,0,0,0,$n_ancho,$n_alto,$tam[0],$tam[1]); 
        
header("Content-type: image/png");  
        
imagepng($imagen);  
    }else if(
$ext=="gif"){  
      
$origen  imagecreatefromgif($file);  
      
$imagen  imagecreatetruecolor($n_ancho,$n_alto);  
      
imagecopyresampled($imagen,$origen,0,0,0,0,$n_ancho,$n_alto,$tam[0],$tam[1]);  
      
header("Content-type: image/gif");  
        
imagegif($imagen);   
    }else{  
            return 
false;  
    } 
?>
Mi problema es, que al redimensionar esa imagen, entonces no mantiene el fondo transparente, sino, que se queda negro, ¿hay forma de evitarlo?
http://camisetas.decoratelo.com/redi...e=camiseta.gif

Gracias y un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:29.