the delay time unit is micro-second when 100 is 1s
(PECL imagick 2, PECL imagick 3)
Imagick::setImageDelay — Establece el retardo de una imagen
Establece el retardo de una imagen. Para una imagen animada, esto es la cantidad de tiempo que debería mostrarse este marco de la imagen, antes de mostrar el siguiente marco.
El retardo se puede establecer individualmente para cada marco de una imagen.
delay
La cantidad de tiempo expresado en 'ticks' que debería mostrarse la imagen. Para GIFs animados son 100 ticks por segundo, por lo que un valor de 20 sería 20/100 de un segundo, es decir 1/5 de un segundo.
Devuelve true
en caso de éxito.
Lanza ImagickException en caso de error.
Ejemplo #1 Modificar un GIF animado con Imagick::setImageDelay()
<?php
// Modificar un GIF animado, y así sus marcos se reproduzcan a una velocidad variable,
// variando entre que se muestre para 50ms hasta 0ms, que causará que el marco
// sea saltado en la mayoría de los navegadores.
$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();
$numMarcos = 0;
foreach ($imagick as $marco) {
$imagick->setImageDelay((($numMarcos % 11) * 5));
$numMarcos++;
}
$imagick = $imagick->deconstructImages();
$imagick->writeImages("/ruta/donde/guardar/output.gif", true);
?>