Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/09/2007, 10:21
mhatter
 
Fecha de Ingreso: septiembre-2007
Mensajes: 52
Antigüedad: 16 años, 7 meses
Puntos: 2
Re: Redimensionar imagenes GIF animadas

Desafortunadamente algunas bibliotecas de imágenes (como la usada por PHP en funciones como imagecopyresampled()) no manejan correctamente los GIF animados, pero existen algunas alternativas.

Una solución sería usar otra biblioteca que sí soporte GIFs de varios cuadros, por ejemplo en PHP la extensión imagick{1} podría servir. El problema es que es una extensión independiente, con todo lo que eso implica en términos de instalación y configuración (la extensión requiere tener ImageMagick instalado, y una versión reciente de PHP).

Un ejemplo de cómo redimensionar un GIF usando imagick podría ser algo así:

Código PHP:
<?php

$entrada 
'ejemplo.gif';
$salida  'ej_reducido_imagick.gif';

// Reducir al 80% del tamaño original
$conversion 0.8;

$img = new Imagick ($entrada);

$tam $img->getImageGeometry ();

$n $img->getNumberImages ();

for (
$i 0$i $n$i++) {
    
$img->scaleImage ($tam['width'] * $conversion,
                      
$tam['height'] * $conversion);

    
$img->nextImage ();
}

$img->writeImages ($salidaTRUE);

?>

{1} http://pecl.php.net/package/imagick

(Continúa..)