La función Imagick::setImageDelay() es una función incorporada en PHP que se utiliza para establecer el retraso de la imagen. Para la imagen animada, es la cantidad de tiempo que se debe mostrar el fotograma de la imagen, antes de mostrar el siguiente fotograma. El retraso se puede configurar individualmente para cada fotograma de una imagen.
Sintaxis:
bool Imagick::setImageDelay( Imagick $delay )
Parámetros: esta función acepta un solo parámetro $delay que contiene el tiempo de retraso de la imagen en centisegundos.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función Imagick::setImageDelay() en PHP:
Programa 1:
<?php // Create a new imagick object $imagickAnimation = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/20191117145951/g4gnaimation1.gif'); foreach ($imagickAnimation as $frame) { // Set the Delay to 3 seconds $frame->setImageDelay(300); } // Show the output header("Content-Type: image/gif"); echo $imagickAnimation->getImagesBlob(); ?>
Producción:
Programa 2:
<?php // Create a new imagick object $imagickAnimation = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/20191117145951/g4gnaimation1.gif'); foreach ($imagickAnimation as $frame) { // Set the Delay to 10 centiseconds $frame->setImageDelay(10); } // Show the output header("Content-Type: image/gif"); echo $imagickAnimation->getImagesBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.setimagedelay.php