PHP Conference China 2020

Imagick::setImageDelay

(PECL imagick 2.0.0)

Imagick::setImageDelayУстанавливает задержку изображения

Описание

Imagick::setImageDelay ( int $delay ) : bool

Устанавливает задержку изображения. Для анимированного изображения это количество времени, в течение которого этот кадр изображения должен отображаться до отображения следующего кадра.

Задержка может быть установлена индивидуально для каждого кадра в изображении.

Список параметров

delay

Количество времени, выраженное в 'тиках', для которого должно отображаться изображение. Для анимированных GIF-файлов есть 100 тиков в секунду, поэтому значение 20 будет равно 20/100 секунды, то есть 1/5 секунды.

Возвращаемые значения

В случае успешной работы возвращает TRUE.

Ошибки

Вызывает ImagickException при ошибке.

Примеры

Пример #1 Изменить анимированный GIF с помощью Imagick::setImageDelay()

<?php

// Измените анимированный GIF, чтобы его кадры воспроизводились с переменной скоростью, 
// варьируясь от показа в течение 50 мс до 0 мс, 
// что приведет к пропуску фрейма в большинстве браузеров.
$imagick = new Imagick(realpath("Test.gif"));
$imagick $imagick->coalesceImages();

$frameCount 0;

foreach (
$imagick as $frame) {
    
$imagick->setImageDelay((($frameCount 11) * 5));
    
$frameCount++;
}

$imagick $imagick->deconstructImages();

$imagick->writeImages("/path/to/save/output.gif"true);

?>

add a note add a note

User Contributed Notes 1 note

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