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 solo está disponible si Imagick ha sido compilado con ImageMagick versión 6.2.9 o superior.
Esta función no contiene ningún parámetro.
Devuelve true
en caso de éxito.
Lanza una excepción ImagickException si ocurre un 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');