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 — Supprime les portions récurrents d'images à optimiser
Compare chaque image GIF à la précédente dans la séquence. A partir de là, la méthode tente de sélectionner la plus petite partie d'image à remplacer à chaque image, tout en préservant les résultats de l'animation. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur.
Cette fonction ne contient aucun paramètre.
Retourne true
en cas de succès.
Lance une exception ImagickException si une erreur survient.
Exemple #1 Exemple avec Imagick::optimizeImageLayers()
Lecture, optimisation et écriture d'une image GIF
<?php
/* création d'un nouvel objet imagick */
$im = new Imagick("test.gif");
/* optimisation des calques */
$im->optimizeImageLayers();
/* écriture de l'image */
$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');