In imagick 3.x (have not checked 2.x), this returns an imagemagick object and not a boolean.
<?php
$image = new Imagick('myanimation.gif');
$image = $image->optimizeImageLayers(); //Does not return a boolean!
$image->writeImage('optimized.gif');
(PECL imagick 2, PECL imagick 3)
Imagick::optimizeImageLayers — Elimina las porciones recurrentes de imágenes a optimizar
Compara cada imagen GIF con la anterior en la secuencia. A partir de ahí, el método intenta seleccionar la parte más pequeña de la imagen a reemplazar en cada imagen, manteniendo los resultados de la animación. Este método está disponible si Imagick ha sido compilado con la versión 6.2.9 o superior de ImageMagick.
Esta función no tiene parámetros.
Devuelve true
en caso de éxito.
Lanza ImagickException en caso de error.
Ejemplo #1 Ejemplo con Imagick::optimizeImageLayers()
Lectura, optimización y escritura de una imagen GIF
<?php
/* creación de un nuevo objeto imagick */
$im = new Imagick("test.gif");
/* optimización de las capas */
$im->optimizeImageLayers();
/* escritura de la imagen */
$im->writeImages("test_optimized.gif", true);
?>
In imagick 3.x (have not checked 2.x), this returns an imagemagick object and not a boolean.
<?php
$image = new Imagick('myanimation.gif');
$image = $image->optimizeImageLayers(); //Does not return a boolean!
$image->writeImage('optimized.gif');