Устанавливает продолжительность отображения кадра

# Imagick::setImageTicksPerSecond

(PECL imagick 2, PECL imagick 3)

Imagick::setImageTicksPerSecond — Устанавливает продолжительность отображения кадра

### Описание

public function Imagick::setImageTicksPerSecond(int `$ticks_per_second`): bool

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

> Замечание:

> Для анимированных GIF-изображений эта функция не изменяет количество "тактов изображения" в секунду, которое всегда определяется как 100. Вместо этого она регулирует количество времени, в течение которого отображается кадр, чтобы имитировать изменение "тактов в секунду".

> Например, для анимированного GIF-изображения, где каждый кадр отображается в течение 20 тактов (1/5 секунды), когда вызывается этот метод для каждого кадра этого изображения с аргументом `50`, кадры корректируются и будут отображаться в течение 40 тактов (2/5 секунды) и анимация будет воспроизводиться с половиной исходной скорости.

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

`ticks_per_second`

  Продолжительность, в течение которой должно отображаться изображение, выражается в тактах в секунду.

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

Функция в случае успешной работы возвращает `true`.

### Примеры

Пример #1 Изменение анимированного GIF-изображения с помощью Imagick::setImageTicksPerSecond()

    <?php

    // Изменение анимированного gif-изображения так, чтобы первая половина gif воспроизводилась с половинной скоростью,
    // а вторая половина воспроизводилась с удвоенной скоростью.

    $imagick = new Imagick(realpath("Test.gif"));
    $imagick = $imagick->coalesceImages();

    $totalFrames = $imagick->getNumberImages();

    $frameCount = 0;

    foreach ($imagick as $frame) {
        $imagick->setImageTicksPerSecond(50);

        if ($frameCount < ($totalFrames / 2)) {
            // Измените кадр так, чтобы он отображался вдвое дольше, чем сейчас.
            $imagick->setImageTicksPerSecond(50);
        } else {
            // Измените кадр так, чтобы он отображался вдвое меньше, чем сейчас.
            $imagick->setImageTicksPerSecond(200);
        }

        $frameCount++;
    }

    $imagick = $imagick->deconstructImages();

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

    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open