ImageMagick Imagick::setImageTicksPerSecond

(PECL imagick 2, PECL imagick 3)

Imagick::setImageTicksPerSecond — 초당 이미지 틱을 설정합니다.


설명

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

애니메이션 이미지의 프레임이 표시되는 시간을 조정합니다.

메모:

애니메이션 GIF의 경우 이 함수는 항상 100으로 정의되는 초당 '이미지 틱' 수를 변경하지 않습니다. 대신 '초당 틱'의 변화를 시뮬레이션하기 위해 프레임이 표시되는 시간을 조정합니다.

예를 들어, 각 프레임이 20틱(1/5초) 동안 표시되는 애니메이션 GIF의 경우 인수가 50인 해당 이미지의 각 프레임에 대해 이 메서드를 호출하면 프레임이 40틱 동안 표시되도록 조정됩니다( 2/5초) 애니메이션이 원래 속도의 절반으로 재생됩니다.


매개변수

ticks_per_second
이미지가 표시되어야 하는 기간은 초당 틱으로 표시됩니다.

반환 값

성공하면 true를 반환합니다.


Examples

예제 #1 Modify animated Gif with Imagick::setImageTicksPerSecond()

                  
<?php

// Modify an animated gif so the first half of the gif is played at half the
// speed it currently is, and the second half to be played at double the speed
// it currently is

$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)) {
        // Modify the frame to be displayed for twice as long as it currently is
        $imagick->setImageTicksPerSecond(50);
    } else {
        // Modify the frame to be displayed for half as long as it currently is
        $imagick->setImageTicksPerSecond(200);
    }

    $frameCount++;
}

$imagick = $imagick->deconstructImages();

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

?>