Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/01/2009, 12:15
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: redimensionar gif con transparencia

mmm hice esto pero no me funciona, sigue poniendo en negro la transparencia, hice algo mal ?

Código PHP:
function thumbgif($anchura,$dir) {
$file_name $_FILES["upicon"]["name"];
  if(
is_uploaded_file($_FILES["upicon"]["tmp_name"])) {
     
move_uploaded_file($_FILES["upicon"]["tmp_name"], $dir.$file_name) or exit(__('Can\'t find destination folder','downloads-manager'));
    
$dm_upload_url $dir.$file_name;
    
$dm_message '<div class="updated fade" id="message"><p>'.__('Icon Uploaded','downloads-manager').'</p></div>';
  } else {
    
$dm_message '<div class="updated fade" id="message"><p>'.__('Error during upload of','downloads-manager').' '.$_FILES["upfile"]["name"].'</p></div>';
  }
     
// Aquí tendremos el nombre de la imagen y comprobamos la extencion
     
$imagen $dir.$_FILES['upicon']['name'];
     
$nombre=basename($imagen);
     
$name=$_POST["dm_icon_name"];
     
$partes explode('.'$nombre);
     
$ext strtolower(end($partes));
     
// Aquí la ruta especificada para buscar la imagen.
     
$camino=dirname($imagen)."/";
      if (
$ext == 'jpeg' or $ext == 'jpg' ) {
          
$img = @imagecreatefromjpeg($camino.$nombre) or exit("No se encuentra la imagen $camino$nombre<br>\\n");
     }elseif(
$ext == 'png'){
          
$img = @imagecreatefrompng($camino.$nombre) or exit("No se encuentra la imagen $camino$nombre<br>\\n");
     }elseif(
$ext == 'gif'){
          
$img = @imagecreatefromgif($camino.$nombre) or exit("No se encuentra la imagen $camino$nombre<br>\\n");
     }elseif(
$ext == 'bmp'){
          
$img = @imagecreatefromwbmp($camino.$nombre) or exit("No se encuentra la imagen $camino$nombre<br>\\n");
     }else{echo 
$ext.'No es una extencion de imagen valida para el script';}
          
// miramos el tamaño de la imagen original...
          
$datos getimagesize($camino.$nombre) or exit("Problemas con $camino$nombre<br>\\n");
          
// intentamos escalar la imagen original a la medida que nos interesa
          
$ratio = ($datos[1] / $datos[0]);
          
$altura round($anchura $ratio);
          
// esta será la nueva imagen reescalada
          
$thumb imagecreatetruecolor($anchura,$altura);
          
// con esta función la reescalamos
          
          
imagealphablending($thumbfalse);
          
imagesavealpha($thumbtrue);
          
$transparent imagecolorallocatealpha($thumb255255255127);
          
imagefilledrectangle($thumb00$anchura$altura$transparent);
          
          
imagecopyresampled($thumb$img0000$anchura$altura$datos[0], $datos[1]);
          

          
          
// salvamos con el nombre y en el lugar que nos interesa.
          
if(empty($name)){$name=$partes[0];}
          
imagegif($thumb,$camino.$dir_thumb.$name.'.gif');
          
unlink($camino.$nombre);