Imagick::setImageDelay

(PECL imagick 2, PECL imagick 3)

Imagick::setImageDelayEstablece el retardo de una imagen

Descripción

public Imagick::setImageDelay(int $delay): bool

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.

Parámetros

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.

Valores devueltos

Devuelve true en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

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);

?>

add a note

User Contributed Notes 1 note

up
-2
fortruth at mabang dot net
14 years ago
the delay time unit is micro-second when 100 is 1s
To Top